python - Pandas:CSV 标题和数据行大小不匹配
问题描述
是否可以指示 Pandas 忽略位置超出标题大小的列?
import pandas
with open('test.csv', mode='w') as csv_file:
csv_file.write("datetime,A\n")
csv_file.write("2018-10-09 18:00:07, 123\n")
df = pandas.read_csv('test.csv')
print(df)
给出答案:
datetime A
0 2018-10-09 18:00:07 123
但是加载具有更多数据列的 CSV 文件,这些数据列在标题中定义:
with open('test.csv', mode='w') as csv_file:
csv_file.write("datetime,A\n")
csv_file.write("2018-10-09 18:00:07, 123, ABC, XYZ\n")
df = pandas.read_csv('test.csv')
print(df)
返回:
datetime A
2018-10-09 18:00:07 123 ABC XYZ
Pandas 将标题移动到数据的最右侧位置。
我需要不同的行为。我希望熊猫忽略数据行,这超出了标题。
注意:我无法枚举列,因为它是一个通用用例。由于某些独立于我的代码的原因,有时会有更多数据,这是预期的。我想忽略额外的数据。
解决方案
Pandas 似乎意识到与实际标题相比有太多列,并且它假设前两个(数据)列是(多)索引。
usecols
使用in 参数指定要读取的数据列read_csv
:
import pandas
with open('test.csv', mode='w') as csv_file:
csv_file.write("datetime,A\n")
csv_file.write("2018-10-09 18:00:07, 123, ABC, XYZ\n")
df = pandas.read_csv('test.csv', usecols=[0,1])
print(df)
产量
datetime A
0 2018-10-09 18:00:07 123
推荐阅读
- java - 可写实例在同一个 reducer 中的 hadoop 中重用
- r - 引用单独行的条件语句
- excel - 使用 PowerShell 将公式添加到 Excel 单元格时出现异常
- c# - 无法发布登录请求
- javascript - 将 JS 函数的返回值分配给变量失败并出现错误
- python - Python PIL - 可能的油漆桶状工具?
- loops - 如何填充地图
- python - 您如何在 AWS API 调用中使用“NextToken”
- jmeter - 通过 SAML 协议用于 Web 应用程序的 jMeter 脚本
- node.js - Angular 6 和 Nodejs:请求的资源上不存在“Access-Control-Allow-Origin”标头