我有一个实际上是 csv 格式的文件,但以 .txt 格式交给我。我需要获取此文件并将其转换为 .xls 格式,以便将其上传到 Google 文档。目前我有下面的代码,但它会将行中所有内容的文件吐出到第一个单元格中,而不是为每个逗号值拆分不同的单元格。有谁知道如何解决这个问题?
谢谢!
import os
fin = open(r"C:\Users\JohnDoe\Downloads\Report.txt", "r")
data_list = fin.readlines()
fin.close() # closes file
fout = open(r"C:\Users\JohnDoe\Desktop\Report.xls", "w")
fout.writelines(data_list)
fout.flush()
fout.close()
请您参考如下方法:
只是将其重命名为 .xls 不会将其转换为 Excel 电子表格。但无论如何,为什么要将其转换为 .xls 只是为了将其上传到 Google 文档?
如果是 .csv,只需将文件重命名为 .csv 并上传,它就会被正确检测为电子表格。
使用os.rename :
import os
os.rename("C:\Users\JohnDoe\Downloads\Report.txt",
"C:\Users\JohnDoe\Downloads\Report.cvs")
如果您真的需要用 Python 来完成。
如果您需要从文件中获取实际行而不是行:
from csv import reader
for row in reader(open(r"C:\Users\JohnDoe\Downloads\Report.txt", 'rb')):
# do something with row
将为您提供每行的单元格列表。
如果您确实确实需要使用 Excel 电子表格,请参阅 http://www.python-excel.org/和 xlwt package .
