我有这个excel
表,我正在尝试将这个excel
表转换成csv
文件。在这张表中的列中有一列数据是date
格式的(比如7/4/2017
)。我编写了这段代码,但它没有正确转换date
字段数据:
import xlrd
import csv
def Excel2CSV(ExcelFile, SheetName, CSVFile):
workbook = xlrd.open_workbook(ExcelFile)
worksheet = workbook.sheet_by_name(SheetName)
csvfile = open(CSVFile, 'w',encoding='utf8')
wr = csv.writer(csvfile,delimiter=';')
for rownum in range(worksheet.nrows):
wr.writerow(worksheet.row_values(rownum))
csvfile.close()
我在excel中的示例数据如下:
4/7/2017 value02 value03
4/5/2017 value12 value13
4/14/2017 value22 value23
4/10/2017 value32 value33
当我执行上述代码时,这是在输出中看到的:
42832.0;value02;value03
42830.0;value12;value13
42839.0;value22;value23
42835.0;value32;value33
如您所见,日期字段数据未正确转换。我犯了什么错误?你知道吗
假设您使用XLRD包读取文件,您可以在http://xlrd.readthedocs.io/en/latest/dates.html找到答案
基本上,日期存储为“自…..以来的天数”,格式设置为在Excel中查看时显示为日期。你知道吗
这里有更多的细节 http://xlrd.readthedocs.io/en/latest/api.html#module-xlrd.xldate
“xldate\u as\u tuple”是您想要的函数
相关问题 更多 >
编程相关推荐