Несколько файлов txt в виде отдельных строк в файле CSV без разделения на строки (в pandas фрейм данных) - PullRequest
0 голосов
/ 13 июля 2020

У меня много файлов txt (которые были преобразованы из pdf) в папке. Я хочу создать набор данных csv / excel, в котором каждый текстовый файл станет строкой. Прямо сейчас я открываю файлы в pandas dataframe, а затем пытаюсь сохранить их в csv файл. Когда я печатаю dataframe, я получаю по одной строке на каждый текстовый файл. Однако при сохранении в файл csv тексты прерываются и создают несколько строк / строк для каждого файла txt, а не только одну строку. Вы знаете, как я могу решить эту проблему? Любая помощь будет высоко ценится. Спасибо.

Ниже приведен код, который я использую сейчас.

import glob
import os
import pandas as pd

file_list = glob.glob(os.path.join(os.getcwd(), "K:\\text_all", "*.txt"))

corpus = []

for file_path in file_list:
    with open(file_path, encoding="latin-1") as f_input:
        corpus.append(f_input.read())

df = pd.DataFrame({'col':corpus})
print (df)

df.to_csv('K:\\out.csv')

Обновление

Если это решение невозможно, оно также будет полезно немного преобразовать данные в pandas dataframe. Я хочу создать столбец с именем txt-файлов, то есть имя каждого txt-файла в папке станет идентификатором соответствующего текстового файла. Затем я сохраню его в формате tsv, чтобы строки не разделялись из-за comma, как предложил кто-то здесь.

Мне нужно что-то вроде следующего.

identifier       col
txt1             example text in this file
txt2             second example text in this file
...
txtn             final example text in this file

1 Ответ

0 голосов
/ 13 июля 2020

Используйте

import csv
df.to_csv('K:\\out.csv', quoting=csv.QUOTE_ALL)
...