python - 多个 txt 文件作为 csv 文件中的单独行而不分成行(在熊猫数据框中)
问题描述
我在一个文件夹中有许多 txt 文件(已从 pdf 转换)。我想创建一个 csv/excel 数据集,其中每个文本文件都将成为一行。现在我正在打开文件pandas dataframe
,然后尝试将其保存到csv
文件中。当我打印时dataframe
,我得到每个 txt 文件的一行。但是,当保存到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
解决方案
利用
import csv
df.to_csv('K:\\out.csv', quoting=csv.QUOTE_ALL)
推荐阅读
- r - R:查找一个变量包含另一个变量的值
- r - r - ggord NMDS 图按组的点状和实心椭圆
- gnome-shell-extensions - GJS:global.window_manager.get_workspaces() 未定义
- python - 如何创建具有周范围的系列?
- java - 固定线程池立即退出,不处理线程
- python - Karatsuba 算法:在中间分割数字序列
- node.js - 关于智威汤逊的问题
- c# - 正则表达式匹配一个 URL
- docker - 无法从 docker 访问 SOAP URL
- javascript - 有没有办法将常量导入 Gruntfile.js 文件?