我有一个包含已知列的输入文件,假设有两列Name
和{Name,Sex
,有时没有:
1.csv:
Name,Sex
John,M
Leslie,F
2.csv:
^{pr2}$预先知道列的标识,有没有一种好方法可以用相同的read_csv
命令来处理这两种情况?基本上,我想指定names=['Name', 'Sex']
,然后只有当头在那里时,才让它推断header=0
。我能想到的最好办法是:
1)在执行read_csv
之前读取文件的第一行,并设置
适当的参数。
2)只要做df = pd.read_csv(input_file, names=['Name', 'Sex'])
,
然后检查zeroeth行是否与标题相同,如果
所以把它去掉(然后可能需要重新编号)。
但对我来说,这并不是一个不同寻常的用例。有没有一种我没有想到的用read_csv
来做这件事的内置方式?在
使用新功能-selection by callable:
使用.query()方法:
^{pr2}$我不确定这是否是最优雅的方式,但这应该同样有效:
相关问题 更多 >
编程相关推荐