我已成功将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获得最终结果。
答案 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)])
# ^^^