熊猫读表不带标题


238

我如何使用熊猫读取.csv文件(无标题),并且只希望使用列的子集(例如总共20列中的第4和第7列)?我似乎无法做usecols

Answers:


349

为了读取没有标题的csv,仅对于某些列,您需要传递params header=None以及usecols=[3,6]第4列和第7列:

df = pd.read_csv(file_path, header=None, usecols=[3,6])

查看文件


67

先前的答案是正确的,但我认为,额外的names参数可以使其完美,这是推荐的方式,尤其是在csv没有时headers

用途usecolsnames参数

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


By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.