【发布时间】:2017-10-21 22:16:24
【问题描述】:
我有一个大的 csv 文件,不想将它完全加载到我的内存中,我只需要从此 csv 文件中获取列名。怎么加载清楚?
【问题讨论】:
标签: python-3.x pandas sklearn-pandas
我有一个大的 csv 文件,不想将它完全加载到我的内存中,我只需要从此 csv 文件中获取列名。怎么加载清楚?
【问题讨论】:
标签: python-3.x pandas sklearn-pandas
试试这个:
pd.read_csv(file_name, nrows=1).columns.tolist()
【讨论】:
如果您将nrows=0 传递给read_csv,那么它只会加载列行:
In[8]:
import pandas as pd
import io
t="""a,b,c,d
0,1,2,3"""
pd.read_csv(io.StringIO(t), nrows=0)
Out[8]:
Empty DataFrame
Columns: [a, b, c, d]
Index: []
之后访问属性.columns 将为您提供列:
In[10]:
pd.read_csv(io.StringIO(t), nrows=0).columns
Out[10]: Index(['a', 'b', 'c', 'd'], dtype='object')
【讨论】: