从txt-fi生成pandas数据帧

2024-04-28 11:53:47 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个大的txt文件,格式如下:

0
1
2
3
4
La situacion es preocupante
5
6
Radio es parte de la vida
7
Dejare de querer muy pronto

我需要生成一个pandas数据帧,类似于:

^{pr2}$

使用以下代码,我得到的输出不正确:

import pandas as pd
data = pd.read_csv("nohup.out",sep="\\n")

    0
0   1
1   2
2   3
3   4
4   La situacion es preocupante
5   5
6   6
7   Radio es parte de la vida
8   7
9   Dejare de querer muy pronto

谢谢你抽出时间


Tags: pandasesdelapdradioprontomuy
2条回答

您正在读取没有标题的CSV。在这种情况下,您可以在导入数据帧时指定列名。在

另外,我想您需要将数值替换为null。 尝试以下操作:

import pandas as pd
data = pd.read_csv("C:/Test/list.txt", names=['Texto']) # read csv with header 'Texto', you don't need to specify separator
print (data)

Out[74]: 
                          Texto
0                             0
1                             1
2                             2
3                             3
4                             4
5   La situacion es preocupante
6                             5
7                             6
8     Radio es parte de la vida
9                             7
10  Dejare de querer muy pronto

这是默认结果。现在,要用NaN替换数字,请尝试:

^{pr2}$

编辑:正如@jezrael所暗示的,将“\d”改为\d+”,以便在以下代码中包含多个数字:

data['Texto'] = data['Texto'].str.replace('\d+', 'NaN')

您可以像这样使用DataFrame.replace

df['0'].replace(to_replace=r'^\d*$', value=np.nan, regex=True)
0                            NaN
1                            NaN
2                            NaN
3                            NaN
4    La situacion es preocupante
5                            NaN
6                            NaN
7      Radio es parte de la vida
8                            NaN
9    Dejare de querer muy pronto

尽管你可能需要整理你的输入文件来得到你想要的。在

相关问题 更多 >