大家好我正在使用python openpyxl模块读取一个xlsx文件。当我读这个文件时,它在xlsx中更改日期的日期格式。我怎样才能获得与excel文件中相同的值。我的代码是
def xlsxToxCsv(inputfile, outfile):
start = time.clock()
wb=load_workbook(inputfile)
for sheet in wb.worksheets:
csv_file=outfile
print 'Creating %s' % csv_file
fd=open(csv_file, 'wt')
for row in sheet.rows:
values=[]
# print row
for cell in row:
value=cell.value
if sheet.is_date(value):
print value
# print value
if value is None:
value=''
if not isinstance(value, unicode):
value=unicode(value)
value=value.encode('utf8')
value = "\""+value+"\""
values.append(value)
# print (','.join(values))
# print values
fd.write(','.join(values))
fd.write('\n')
fd.close()
end = time.clock()
print 'Code time %.6f seconds' % (end - start)
return csv_file
任何人都可以帮我获得相同的excel文件值。在excel文件日期就像4/27/2009但在csv中我得到2009-06-12 00:00:00之类的。
答案 0 :(得分:0)
您的print value
行会打印value
datetime
对象的默认表示形式。查看文档,了解如何以任何您想要的方式对其进行格式化。
答案 1 :(得分:0)
通过此功能传递日期以获取日期值。
def make_date(xlnum):
from datetime import date
from datetime import timedelta
year = timedelta(days=xlnum)
my_birthday = date(1899, 12, 30)
return my_birthday + year