我是 Python 新手,我正在尝试获取一些具有以下格式数据的文本文件:
时间戳持续时间 word1 p1 word2 p2 ....
并将数据写入 CSV 文件。对于我写入的每一行,我还想包含从中获取该行的文件的名称。
我的问题是我正在执行的代码似乎将所有文本写入一个单元格。当我使用 LibreOffice 打开 CSV 文件时,它显示垃圾字符,表示它无法正确显示数据,因为超出了每个单元格的最大字符数限制。
我究竟做错了什么?
import csv, os
path = "./TRIAL with CSV"
all_the_files = os.listdir(path)
for each_file in all_the_files:
file = os.path.join(path, each_file)
ifile = open(file, "rb")
reader = csv.reader(ifile)
ofile = open('CSVtrial.csv', "a")
writer = csv.writer(ofile, delimiter='\t', quoting=csv.QUOTE_MINIMAL)
for row in reader:
writer.writerow([each_file,row])
ifile.close()
ofile.close()
编辑:我不认为我可以在此处附加文件,但示例输入文件将是具有以下行的 .txt 文件:
186.860 0.060 (01) 0.89221220 公顷(01) 0.04941113 ah(01) 0.04552169 oo(01) 0.01065865 o(01) 0.00219633
187.110 0.410 邦加(01) 1.00000000
187.520 0.349 纳曼(01) 0.99999601
187.872 0.598 niyan(01) 0.81980968 'yan(02) 0.16510634 iyan(02) 0.00814381 niya(01) 0.00471968 ganyan(01) 0.00139249 diyan(03) 0.00082159
有大约 50,000 个这样的 .txt 文件,我试图将它们编译成一个 CSV 文件,以便更容易分析数据。
这是我尝试在 LibreOffice 中查看 CSV 文件时遇到的错误的屏幕截图 - http://i.imgur.com/jvsvxrx.png?1
现在我已经放弃了这个,我只是想在 vim 上工作。如果有人对我如何将这些 .txt 文件编译成电子表格之类的东西有任何其他建议,这样可以更容易地分析数据,我将不胜感激。