熊猫:从csv文件中获取特定列

stu*_*nt1 3 python csv dataframe python-3.x pandas

我有以下示例.csv文件:

str_header  int_header
string_a       1
string_b       2
string_c       3
Run Code Online (Sandbox Code Playgroud)

根据互联网上的解决方案,此代码:

import pandas as pd
data = pd.read_csv("z.csv", names=['int_header'])
print(data['int_header'])
Run Code Online (Sandbox Code Playgroud)

应该只读int_header入列data.但是data,如上所述打印时,实际上包含所有文件列.我正在使用Anaconda的Python发行版.怎么了?

Max*_*axU 5

试试这个:

data = pd.read_csv("z.csv", usecols=['int_header'])
Run Code Online (Sandbox Code Playgroud)

假设您的CSV文件具有,分隔符

说明:

文档:

names: array-like,默认为None

要使用的列名列表.如果文件不包含标题行,则应显式传递header = None

usecols:类似于数组,默认为None

返回列的子集.结果>更快的解析时间和更低的内存使用率.

文档有点令人困惑.

names - 用于命名(给列名称),特别是如果您没有标题行或想要忽略/跳过它.

usecols - 用于仅选择"有趣"列