Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/mercurial/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 将文本文件转换为数据帧的最佳方式是什么?_Python_Pandas_Dataframe_Txt - Fatal编程技术网

Python 将文本文件转换为数据帧的最佳方式是什么?

Python 将文本文件转换为数据帧的最佳方式是什么?,python,pandas,dataframe,txt,Python,Pandas,Dataframe,Txt,我有一个文本文件,基本上是这样的 Number|Name|Report 58|John|John is great John is good I like John [Report Ends] 对不同的人反复重复 我想将其转换为如下所示的数据帧 Number Name Report 58 John John is great John is good I like John [Report Ends] 使用线路 pd.read_csv('/Path',sep=“|”,header

我有一个文本文件,基本上是这样的

Number|Name|Report
58|John|John is great

John is good

I like John
[Report Ends]
对不同的人反复重复

我想将其转换为如下所示的数据帧

Number Name Report
58     John John is great John is good I like John [Report Ends]
使用线路
pd.read_csv('/Path',sep=“|”,header=0)
我得到了正确的列名。第一行在“报告”部分之前都是正确的。我认为“报告”部分会把一切搞糟,因为它占据了文本文件中的几行。我应该如何将报告数据放入数据框中?

通过几行手动解析,您可以提取信息并在将其读入数据框之前进行调整

将熊猫作为pd导入
打开('info.txt','r')作为fp:
info=fp.readlines()
df_dicts=[]
cd=无
对于行输入信息[1:]:
行=行。替换('\n','').strip()
如果行中有“|”:
cd={}
df_指令附加(cd)
cd['Number']、cd['Name']、cd['Report']=line.split(“|”)
其他:
cd['Report']+=''+行
打印(pd.数据帧(df_dicts))

如果替换函数过于通用,则必须开始研究正则表达式。

我会编写一些python代码将文件单元放入数组,然后在读取数据后将其转换为DataFrame。此文件的问题是它不是有效的csv文件,因此
pd.read\u csv
无法解析它正确。我担心您将不得不编写一个自定义解析器…只是为了澄清一下,您实际上是在将txt文件转换为一个录音记录列表,然后将录音记录列表转换为一个数据帧?是的,正是这样