python逐行读取数据_python – Pandas按行读取数据

本文介绍了如何使用Pandas逐行读取包含逗号分隔数据的.txt文件,并转换为DataFrame。通过读取文件,转置数据,重命名列名并删除不需要的行,可以创建所需的数据框。当文件中可能存在不同数量的字段时,提供了一个通用的解决方案。
摘要由CSDN通过智能技术生成

通常,数据以列为变量的形式呈现,但是,例如,我在.txt文件中有类似的东西

Data1,1,2,3,4,5

Data2,3,1,4

我可以使用pandas这样的方式构建数据框,就像我从中获得的一样

d = {"Data1":[1,2,3,4,5], "Data2": [3,1,4,1,2]}

df = pd.DataFrame(data=d)

编辑:

最初我希望数据集的大小不同,但是pandas不会允许它抛出ValueError

最佳答案 阅读文件,转置数据框,munge一点……etvoilà.

伪造文件的设置:

>>> from io import StringIO

>>> file = StringIO('''Data1,1,2,3,4,5

...:Data2,3,1,4''')

创建数据框:

>>> df = pd.read_csv(file, header=None).T

>>> df = df.rename(columns=df.loc[0]).drop(0, axis=0)

>>>

>>> df

>>>

Data1 Data2

1 1 3

2 2 1

3 3 4

4 4 NaN

5 5 NaN

然而,Peter Leimbigler在this回答中做得更优雅一点!

正如ALollz指出的那样,这些解决方案仅在文件中没有包含比第一行更多字段的行时才有效.

这是我尝试更普遍适用的解决方案:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值