* Python非常新,我需要将单个目录中的大量txt文件合并到一个csv文件中。文件中的文本需要转换为单独的行和列(每个文件中有5列,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()它适用于我,但它将文件中的所有内容放入一个表格单元格中。我通读了很多Q&A,不知道如何修改代码,以便将内容分成不同的列和行。
发布于 2020-06-02 22:59:32
你必须阅读一行中的五个单词,并对所有行使用循环。接下来,将这五个单词写在文件名上,如下所示。希望这能有所帮助。我已经为这个概念添加了伪代码。希望这能有所帮助!
files = os.listdir(dirpath)
for filename in files:
with open(dirpath + '/' + filename) as afile:
#for line in afile.read()
# words_in_a_line = split_line_to_get_words(line)
# csvout.writerow([filename, words_in_a_file])
csvout.writerow([filename, afile.read()]) # delete this line
afile.close()
outfile.close()在这里,函数split_line_to_get_words将返回一行中包含五个单词的列表。如果每行由空格或逗号分隔,则使用它们从一行中提取五个单词。
https://stackoverflow.com/questions/62154549
复制相似问题