【发布时间】:2017-11-02 20:38:16
【问题描述】:
我有一个 5 行 5 列的 Excel 表,其值如下:
Time Launch Login Password Signout
00:01 1.26 1.56 5.24 12.3
00:02 1.22 1.55 5.34 2.35
00:03 1.36 1.53 1.24 2.13
00:05 1.46 1.26 2.24 1.32
如何将上述数据转换为 csv 格式并将其写入文本文件。我可以从 excel 中读取它们,但是当我写的时候,它们都被合并了。
输出格式:
Time,Launch,Login,Password,Signout
00:01,1.26,1.56,5.24,12.3
00:02,1.22,1.55,5.34,2.35
00:03,1.36,1.53,1.24,2.13
00:05,1.46,1.26,2.24,1.32
我的代码:
workbook3 = xlrd.open_workbook('C:\Users\aa\Desktop\Report3.xls', logfile=open(os.devnull, 'w'))
worksheet3 = workbook3.sheet_by_index(0)
num_cols3 = worksheet3.ncols
num_rows3 = worksheet3.nrows
for row_index3 in range(0, num_rows3):
for col_index3 in range(0, num_cols3):
cell_val= worksheet3.cell(row_index3, col_index3).value
with open("C:\Users\aa\Desktop\outputfile.txt", 'a') as f:
f.write(cell_val)
print "Write Completed"
请指导。
【问题讨论】:
-
也许你应该使用';'而不是“,”作为列分隔符?在多个语言环境中,当您在 Excel 中打开 csv 时会出现这种情况。
-
我正在从 excel 中读取内容并将其重新写入文本文件,这是否会有所作为?我仍然坚持将它们转换为 csv 格式。