【发布时间】:2020-06-02 14:37:28
【问题描述】:
*对 Python 非常陌生 我需要将单个目录中的大量 txt 文件合并到一个 csv 文件中。文件中的文本需要转换成单独的行和列(每个文件五列,N 行)。 我使用了this question的代码:
import os
import csv
dirpath = 'path_of_directory'
output = 'output_file.csv'
with open(output, 'w') as outfile:
csvout = csv.writer(outfile)
csvout.writerow(['FileName', 'Content'])
files = os.listdir(dirpath)
for filename in files:
with open(dirpath + '/' + filename) as afile:
csvout.writerow([filename, afile.read()])
afile.close()
outfile.close()
它适用于我,但它会将文件中的所有内容放入一个表格单元格中。我阅读了很多问答,无法弄清楚如何修改代码以将内容分成不同的列和行。
【问题讨论】:
-
您能否更新问题以包含来自文本文件的一些示例输入和预期输出?
-
为什么你认为所有的内容都在一个表格单元格中?你能用过Excel吗?你知道 Excel 知道它对 CSV 文件的处理很差,它没有在同一个系统上编写自己吗?编辑为文本时生成的 csv 文件包含什么内容,您希望它包含什么内容?
-
输入文件的格式是什么?输出文件中所需的输出是什么?
csv.reader()可能会有所帮助。仅供参考,.writerow([filename,afile.read()])您已经明确表示将文件名放在第一列,将整个文件内容放在第二列。 -
原始文件具有 .tsv 扩展名。不幸的是,我无法在此处放置文件或生成的 .csv 中的示例。当我在 Excel 中打开它时,它说包含所有文件内容的单元格是合并单元格,我无法拆分它。当我在记事本++中打开它时,它都是分开的,但出于工作原因,它也需要在 Excel 中分开
标签: python python-3.x csv export-to-csv