【发布时间】:2013-10-03 15:19:03
【问题描述】:
我是 Python 新手,我正在尝试获取一些具有以下格式数据的文本文件:
time_stamp 持续时间 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 啊(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 文件编译成电子表格之类的东西有任何其他建议,这样可以更容易地分析数据,我将不胜感激。
【问题讨论】:
-
你想做什么?现在,您正在将其他文件中的内容转储到 csv 中。
-
@RickyA,是的,这正是我想要做的
-
@Alvaro,我可以在 vim 中查看文件。我没有考虑过使用不同的分隔符。有没有办法在我的代码中做到这一点?谢谢
标签: python csv python-2.7