问题:熊猫读表不带标题
我如何使用熊猫读取.csv文件(无标题),并且只希望使用列的子集(例如总共20列中的第4和第7列)?我似乎无法做usecols
回答 0
为了读取没有标题的csv,仅对于某些列,您需要传递params header=None
以及usecols=[3,6]
第4列和第7列:
df = pd.read_csv(file_path, header=None, usecols=[3,6])
查看文件
回答 1
先前的答案是正确的,但我认为,额外的names
参数可以使其完美,这是推荐的方式,尤其是在csv没有时headers
。
解
用途usecols
及names
参数
df = pd.read_csv(file_path, usecols=[3,6], names=['colA', 'colB'])
补充阅读
或用于header=None
显式地告诉人们csv
没有标题(无论如何,两行都是相同的)
df = pd.read_csv(file_path, usecols=[3,6], names=['colA', 'colB'], header=None)
这样您就可以通过以下方式检索数据
# with `names` parameter
df['colA']
df['colB']
代替
# without `names` parameter
df[0]
df[1]
说明
基于read_csv,当names
显式传递时,header
将表现为None
而不是0
,因此存在header=None
时可以跳过names
。
回答 2
确保为第4列和第7列指定pass header=None
和add usecols=[3,6]
。