2016-11-10 2 views
1

Если предположить, что у меня есть следующий фрагмент кода и ordered_list, содержащие мои ценности прилагаемые вместе, одну строка содержимого, которая распечатывается на моем тесте в этом формате:Python - XLSXWriter пишет символ в колонку

[text:u'LT4974', text:u'MRNAMEID', number:14, number:121]

Если я не вложил row в метод str(), возникла бы другая ошибка. Однако это приведет к выходному файлу, который записывает каждый символ в столбце ... Что неправильно. Как я правильно написал бы его таким образом, чтобы он получал только следующее содержимое в своих соответствующих столбцах?

COL1 || COL2 || COL3 || COL4

LT4974 || MRNAMEID || 14 || 121

new_workbook = xlsxwriter.Workbook() 
sheet = new_workbook.add_worksheet('test') 

for row_index, row in enumerate(ordered_list): 
    #for col_index, cell_value in enumerate(row): 
     sheet.write_row(row_index, 0, str(row)) 

new_workbook.save('output.xlsx') 

1.) Если я пытаюсь раскомментирован for col_index, cell_value in enumerate(row) и изменить str(row) с str(cell_value) было бы еще писать на характер и на этот раз не получаю некоторые значения, которые выпадают в виде текста.

2.) Если я пытаюсь непосредственно дать строку как в: sheet.write_row(row_index, 0, row) он будет говорить об ошибке: TypeError Unsupported type <class 'xlrd.sheet.Cell'> in write()

ответ

1

Нашел ответ, я только что внесла некоторые изменения из предложения Vivek. Вместо этого оно должно быть sheet.write(row_index, col_index, str(item)).

new_workbook = xlsxwriter.Workbook() 
sheet = new_workbook.add_worksheet('test') 

for row_index, row in enumerate(ordered_list): 
     for col_index,item in enumerate(row): 
      sheet.write(row_index, col_index, str(item)) 

new_workbook.save('output.xlsx') 
2

вы можете добавить еще один цикл для записать его в разные колонки по мере необходимости

new_workbook = xlsxwriter.Workbook() 
sheet = new_workbook.add_worksheet('test') 

for row_index, row in enumerate(ordered_list): 
     for col_index,item in enumerate(row): 
      sheet.write_row(row_index, col_index, str(item)) 

new_workbook.save('output.xlsx') 

добрый lemme знает, если это изменение поможет вам

+0

Я попробую еще раз. Я прокомментировал подобную строку, поскольку я помнил, что столкнулся с ошибкой. Я проверю его снова, как вы посоветовали. – Reiion

+0

К сожалению, это не значит, что проблема :(Он по-прежнему сохраняется в символах и на этот раз начинается где-то посередине. @Vivek – Reiion

Смежные вопросы