在python中将xls转换为csv

时间:2013-12-26 03:10:09

标签: python excel csv

我已成功将xls转换为csv,但我遇到了问题。在csv文件本身看起来很正常但是当我运行输出时,一切都是错误的。

changeWb = xlrd.open_workbook('test.xls')
sh = changeWb.sheet_by_name('detail')
csv_file = open('test2.csv', 'wb')
wr = csv.writer(csv_file, quoting=csv.QUOTE_NONE)
for rownum in xrange(sh.nrows):
    wr.writerow([unicode(entry).encode("utf-8") for entry in sh.row_values(rownum)])
csv_file.close()

我一开始没有任何csv文件,打开csv_file实际上是刚刚打开一个新文件。 旧的输出是:

['001', '1387533864.0', '1387575618.0']
['003', '1387534098.0', '1387573600.0']

我需要类似的东西:

['1', '1387533864', '1387575618']    
['3', '1387534098', '1387573600']

底部输出是在我进入文件后,并保存为csv(逗号分隔)。 请告诉我如何使用python获得最终结果。

1 个答案:

答案 0 :(得分:2)

首先将值转换为int

wr.writerow(sh.row_values(0))
for rownum in xrange(1, sh.nrows):
    wr.writerow([str(int(entry)) for entry in sh.row_values(rownum)])
    #                ^^^