python - 熊猫读取 csv,修剪最后两个字符
问题描述
一个 csv 文件如下所示:
a,b,c
1,2,3,
4,5,6,
a,b,c,
当我尝试使用 pandas read_csv 读取此文件时,数据框如下所示:
|---------------|
| | a | b | c |
|---------------|
| 1 | 2 | 3 | |
| 4 | 5 | 6 | |
| a | b | c | |
|---------------|
我认为数据中的问题是:它看起来像 1,2,3,space\n 和 pandas 认为有 4 列,第一列未命名。有什么办法可以将其更改为:
|-----------|
| a | b | c |
|-----------|
| 1 | 2 | 3 |
| 4 | 5 | 6 |
| a | b | c |
|-----------|
这些文件大约有 5000 万行,而且文件很多。有什么办法可以用最少的运行时间来做到这一点?
解决方案
使用usecol
参数 inpd.read_csv
仅读取 csv 文件中的前三列。
from io import StringIO
csvtext = StringIO("""a,b,c
1,2,3,
4,5,6,
a,b,c, """)
df = pd.read_csv(csvtext, usecols=[0,1,2])
df
输出:
a b c
0 1 2 3
1 4 5 6
2 a b c
推荐阅读
- c++ - 使用 void 函数时没有输出
- python-3.x - matplotlib python datetime TypeError
- android - 在 Flutter 上的同一个项目上创建它的 android 版本的 apk 后,我可以构建一个 iOS 应用程序吗?
- c++ - 从十六进制字符串形成字符串
- cypher - 带有子路径的密码查询并存在于redisgraph中
- c# - 如何使用 ms 实体 CRUD api 控制器和存储过程检查用户是否存在于 sql db 上
- r - 是否可以从 dplyr 管道调用 dcast 函数?
- python - 绘图大小不会随着 figsize 值的增加而增加
- security - AWS 禁止作为具有 SCP 的根用户执行操作
- reactjs - 为什么不附加到数据?