[英]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.