首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用python将多个txt文件合并成csv

用python将多个txt文件合并成csv
EN

Stack Overflow用户
提问于 2020-06-02 22:37:28
回答 1查看 86关注 0票数 0

* Python非常新,我需要将单个目录中的大量txt文件合并到一个csv文件中。文件中的文本需要转换为单独的行和列(每个文件中有5列,N行数)。我使用了this question中的代码

代码语言:javascript
复制
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,不知道如何修改代码,以便将内容分成不同的列和行。

EN

回答 1

Stack Overflow用户

发布于 2020-06-02 22:59:32

你必须阅读一行中的五个单词,并对所有行使用循环。接下来,将这五个单词写在文件名上,如下所示。希望这能有所帮助。我已经为这个概念添加了伪代码。希望这能有所帮助!

代码语言:javascript
复制
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将返回一行中包含五个单词的列表。如果每行由空格或逗号分隔,则使用它们从一行中提取五个单词。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62154549

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档