У меня есть список, чтобы быть экспортированы в файл Excel, сохраняя соответствующий формат, я прибег к библиотеке имени xlsxwriter,Написать список в Excel файл с Python
вот пример: xlsxwriter
и вот мой список:
{'FirstName': u'Forence','LastName': u'Bidorst', 'Salary': -6775000.0, 'BirthDate': datetime.datetime(2013, 6, 20, 0, 0)}
{'FirstName': u'Oliver','LastName': u'Bidorst', 'Salary': -6775000.0, 'BirthDate': datetime.datetime(2013, 6, 20, 0, 0)}
{'FirstName': u'Mathew','LastName': u'Stark', 'Salary': -6775000.0, 'BirthDate': datetime.datetime(2013, 6, 20, 0, 0)}
{'FirstName': u'Sphed','LastName': u'liomst', 'Salary': -6775000.0, 'BirthDate': datetime.datetime(2013, 6, 20, 0, 0)}
Я изменил код, чтобы просмотреть список и вставить его в файл,
def export_result_XL():
list=get_list()
...
# Write some data headers.
worksheet.write('A1', 'First Name', bold)
worksheet.write('B1', 'Last Name', bold)
worksheet.write('C1', 'Salary', bold)
worksheet.write('D1', 'Birth Date', bold)
# Some data we want to write to the worksheet.
for entry in list:
x = str(entry['FirstName'])
y = str(entry['LastName'])
z = str(entry['Salary'])
e = str(entry['BirthDate'])
v = BirthDate[:10] # because the date format is like yyyy-mm-dd 00:00:00
expenses = (
[x,y ,z ,v]
)
# Start from the first cell below the headers.
row = 1
col = 0
for item ,str1,str2,str3,date_str in (expenses):
# Convert the date string into a datetime object.
date = datetime.strptime(date_str, "%Y-%m-%d")
worksheet.write_string (row, col, str1 )
worksheet.write_string (row, col + 1, str2 )
worksheet.write_string(row, col + 2, str3 )
worksheet.write_datetime(row, col + 3, date, date_format)
row += 1
# Write a total using a formula.
#worksheet.write(row, 0, 'Total', bold)
#worksheet.write(row, 2, '=SUM(C2:C5)', money_format)
workbook.close()
return ''
У меня было две проблемы здесь:
1 -
for item, date_str in (frais)
ValueError: too many values to unpack
2- , если я избегаю преобразовать в формат даты файл будет genreated, но столбцы и строки перевернутый
Есть ли любая идея, как это сделать, я надеюсь, что я был в описании
Каков формат вывода, который вы ожидаете? Почему вы повторяете * и * распаковываете 'расходы' (который представляет собой список из четырех элементов, скобки не имеют значения)? Почему бы вам не использовать значащие имена переменных ('x' - это имя? Давай!)? – jonrsharpe
Я отредактировал описание, чтобы сделать его более четким, мой запрос прост: как вставить список в файл excel с управлением форматом ячейки (дата, строка, номер ...) – user3708197
Ваш * "спрос" * ?! Как вы думаете, что это? 'costs' - это только последняя' запись' из 'list' (которую вы не должны называть' list'). Вы пытаетесь написать один и тот же «элемент» в три отдельных столбца; разве это не должно быть три разных значения? Я предлагаю вам добавить некоторые 'print' и посмотреть, как выглядят ваши данные. – jonrsharpe