python - 熊猫将文本文件读入数据框
问题描述
我有一个 .txt 文件
[7, 9, 20, 30, 50] [1-8]
[9, 14, 27, 31, 45] [2-5]
[7, 10, 22, 27, 38] [1-7]
我试图读入两列的数据框,df = pd.read_fwf(readfile,header=None)
而不是两列,它形成一个三列的数据框,有时将第一个数字列表中的每一个读入五列
0 1 2
0 [7, 9, 20, 30, 50] [1-8]
1 [9, 14, 27, 31, 45] [2-5]
2 [7, 10, 22, 27, 38] [1-7]
我不明白我做错了什么。有人可以帮忙吗?
解决方案
您可以利用列表之间的两个空格
pd.read_csv(readfile, sep='\s\s', header=None, engine='python')
出去:
0 1
0 [7, 9, 20, 30, 50] [1-8]
1 [9, 14, 27, 31, 45] [2-5]
2 [7, 10, 22, 27, 38] [1-7]
pd.read_fwf
没有明确的widths
参数试图推断固定的宽度。但第一个列表的长度各不相同。没有固定的宽度将每行分成两列。
如果您的数据没有分隔符但每个值的字母数固定,则该widths
参数非常有用。40 年前,这是一种常见的数据格式。
# data.txt
20200810ITEM02PRICE30COUNT001
20200811ITEM03PRICE31COUNT012
20200812ITEM12PRICE02COUNT107
pd.read_csv
sep
参数接受多字符和正则表达式分隔符。通常,将字符串分隔到列更灵活。
推荐阅读
- amazon-web-services - 如何从 aws 应用配置服务获取客户端 ID
- javascript - 如何检查谷歌电子表格中的输入数据是否是 GAS 的有效日期类型
- python - 更改 Twitter created_at 时区
- listview - ListView.builder() 破坏了我的应用程序的整个页面。我究竟做错了什么?
- python - 安装 TensorFlow (2.1.0)[之前我有 2.0.0]
- data-structures - 如何插入结构内的哈希映射?
- ethereum - 返回错误:方法 web3_clientVersion 不存在/不可用
- mysql - mySQL Max 函数返回不同的类型
- sql - 慢速自连接的替代方案(oracle sql)
- sql - 如何获取今天午夜到昨天午夜的数据