簡體   English   中英

使用 python 將多個 txt 文件合並到 csv

[英]Merging multiple txt files into csv with python

*對 Python 非常陌生,我需要將單個目錄中的大量 txt 文件合並到一個 csv 文件中。 文件中的文本需要轉換成單獨的行和列(每個文件五列,N 行)。 我使用了這個問題的代碼:

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()

它對我有用,但它將文件中的所有內容放入一個表格單元格中。 我閱讀了很多問答,無法弄清楚如何修改代碼以將內容分成不同的列和行。

您必須閱讀所有行的循環中的五個單詞。 接下來,沿着文件名寫下五個單詞,如下所示。 希望有幫助。 我為這個概念添加了偽代碼。 希望有幫助!!!

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()

此處 function split_line_to_get_words 將返回該行中五個單詞的列表。 如果根據空格或逗號分隔行,則使用它們從一行中獲取五個單詞。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM