Я использовал библиотеку pyExcelerator некоторое время, она работает красиво. Теперь я хотел бы иметь возможность экспортировать даты python в формат даты на листе excel. Я не могу узнать (я прочитал документацию), как это сделать. Любые предложения?pyExcelerator формат даты
1
A
ответ
1
Вариант 1:
Просто преобразовать строку типа даты и времени, вы получили от разбора. Здесь я предполагаю, что вы исправили формат даты:
import csv
from datetime import datetime
date_object = datetime.strptime('Jun 1 2005 1:33PM', '%b %d %Y %I:%M%p')
rows = ['foo', 'bar', date_object]
with open('export.csv', 'wb') as csv_file:
writer = csv.writer(csv_file, delimiter=',', quoting=csv.QUOTE_MINIMAL)
writer.writerow(rows)
Вариант 2
Используйте xlwt модуль. Пример:
#!/usr/bin/env python
# -*- coding: windows-1251 -*-
# Copyright (C) 2005 Kiseliov Roman
from xlwt import *
from datetime import datetime
w = Workbook()
ws = w.add_sheet('Hey, Dude')
fmts = [
'M/D/YY',
'D-MMM-YY',
'D-MMM',
'MMM-YY',
'h:mm AM/PM',
'h:mm:ss AM/PM',
'h:mm',
'h:mm:ss',
'M/D/YY h:mm',
'mm:ss',
'[h]:mm:ss',
'mm:ss.0',
]
i = 0
for fmt in fmts:
ws.write(i, 0, fmt)
style = XFStyle()
style.num_format_str = fmt
ws.write(i, 4, datetime.now(), style)
i += 1
w.save('dates.xls')
Еще примеры: https://github.com/python-excel/xlwt/tree/master/xlwt/examples
0
Это функция я сделал. Думал, что кто-то там может найти для этого какое-то применение.
import datetime
from pyexcelerate import Workbook
from pyexcelerate.Format import Format
def data_to_xlsx(data):
wb = Workbook()
for sheet_name in data:
headers = data[sheet_name]['headers']
rows = [row.itervalues() if isinstance(row, dict) else row for row in data[sheet_name]['objects']]
ws = wb.new_sheet(sheet_name, data=[headers]+rows)
ws.range((1, 1), (1, len(headers))).style.font.bold = True
datecols = []
if rows:
for x in xrange(len(rows[0])):
for row in rows:
value = row[x]
if value is not None:
if isinstance(value, datetime.datetime):
datecols.append((x, 'yyyy-mm-dd hh:mm:ss'))
elif isinstance(value, datetime.date):
datecols.append((x, 'yyyy-mm-dd'))
elif isinstance(value, datetime.time):
datecols.append((x, 'hh:mm:ss'))
break
for col, format in datecols:
ws.range((2, col+1), (len(rows)+1, col+1)).style.format = Format(format)
return wb
Он принимает вложенную Dict, который включает необходимые вещи, такие как имена листов, заголовки строки и возвращает объект Workbook. Функция в основном вставляет данные в рабочий лист, а затем применяет форматы даты и времени, даты или времени для всех столбцов.
Пример параметра будет:
data = {
'List': {
'headers': ('First name', 'Last name'),
'objects': [
('Duane', 'Chow'),
('Chris', 'Mara'),
('Dan' , 'Wachsberger'),
('Ron' , 'Forenall'),
('Jack' , 'McGann'),
('Andrew' , 'Holt'),
('Anthony' , 'Perez'),
('Isaac' , 'Conley'),
('William' , 'Moniz'),
('Harris' , 'Boivin'),
('Raymond' , 'Martinez')
]
}
}
wb = data_to_xlsx(data)
Смежные вопросы
- 1. pivots using pyExcelerator/xlrd
- 2. pyExcelerator и utf8?
- 3. Формат даты формат php
- 4. Формат даты даты
- 5. Формат даты/даты (-62135571600000)/
- 6. Формат ввода HTML = формат даты «даты»
- 7. sas7bdat формат даты в формат даты R
- 8. Добавление процента в python - xlwt/pyexcelerator
- 9. слияния выделяются клетки, используя pyExcelerator
- 10. Php формат и формат даты
- 11. MySQL формат даты DATE формат
- 12. Формат даты диалога даты выбора
- 13. Каков формат даты данной даты
- 14. Формат даты для даты ColdFusion
- 15. Формат даты даты в mysql
- 16. Формат даты и даты MVC
- 17. Формат даты для даты NPOI
- 18. преобразование даты в формат даты
- 19. Изменить формат даты выбора даты
- 20. шаблон django - формат даты даты
- 21. Формат даты полной даты ответа
- 22. Формат даты сравнить даты XSLT
- 23. Формат даты в формате даты
- 24. pyExcelerator имеет проблемы с чтением некоторых файлов
- 25. Формат даты и даты JQuery формата даты
- 26. Как преобразовать формат даты в другой формат даты в java?
- 27. конвертировать формат даты в формат даты, такой как edm
- 28. Как преобразовать формат даты в формат даты mysql?
- 29. изменить формат даты загрузки в формат даты сервера
- 30. Как преобразовать формат даты в другой формат даты в Swift?
Что оригинальный формат дат, которые вы пытаетесь разобрать? – nickzam
Мне понадобится дата python для файла excel. Я хотел бы, чтобы ячейка файла excel была датой. – gpasse