簡體   English   中英

將文件夾中的txt文件轉換為csv文件中的行

[英]Convert txt files in a folder to rows in csv file

我的一個文件夾中有100個txt文件。 我想創建一個csv文件,其中每個文本文件的內容在此csv文件中變為一行(實際上是一行中的單個單元格)。 因此,結果將是具有100行的csv文件。

我嘗試了以下代碼:

import glob

read_files = glob.glob('neg/*')

with open("neg.csv", "wb") as outfile:
    for f in read_files:
        with open(f, "rb") as infile:
            for line in infile:
                outfile.write(line)

由於每個txt文件都包含多個段落,因此這會創建包含數千行的csv。 有什么建議嗎?

嘗試:

import glob
import csv

read_files = glob.glob('neg/*')

with open("neg.csv", "wb") as outfile:
    w=csv.writer(outfile)
    for f in read_files:
        with open(f, "rb") as infile:
            w.writerow([line for line in infile])

這使得每行輸出中的一個單元格,每個文件一行。

如果希望每個單元格都是文件的全部內容,請嘗試:

import glob
import csv

read_files = glob.glob('neg/*')

with open("neg.csv", "wb") as outfile:
    w=csv.writer(outfile)
    for f in read_files:
        with open(f, "rb") as infile:
            w.writerow(" ".join([line for line in infile]))

在寫每一line之前,首先要做line.replace('\\n',' ')用空格替換所有新行字符。

顯然,根據您的操作系統調整換行符。

暫無
暫無

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

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