pandas函数read_csv()参数及例子

1. read_csv函数的定义

pd.read_csv(
filepath_or_buffer: ‘FilePathOrBuffer’,
sep=<no_default>,
delimiter=None,
header=‘infer’,
names=<no_default>,
index_col=None,
usecols=None,
squeeze=False,
prefix=<no_default>,
mangle_dupe_cols=True,
dtype: ‘DtypeArg | None’ = None,
engine=None,
converters=None,
true_values=None,
false_values=None,
skipinitialspace=False,
skiprows=None,
skipfooter=0,
nrows=None,
na_values=None,
keep_default_na=True,
na_filter=True,
verbose=False,
skip_blank_lines=True,
parse_dates=False,
infer_datetime_format=False,
keep_date_col=False,
date_parser=None,
dayfirst=False,
cache_dates=True,
iterator=False,
chunksize=None,
compression=‘infer’,
thousands=None,
decimal: ‘str’ = ‘.’,
lineterminator=None,
quotechar=’"’,
quoting=0,
doublequote=True,
escapechar=None,
comment=None,
encoding=None,
encoding_errors: ‘str | None’ = ‘strict’,
dialect=None,
error_bad_lines=None,
warn_bad_lines=None,
on_bad_lines=None,
delim_whitespace=False,
low_memory=True,
memory_map=False,
float_precision=None,
storage_options: ‘StorageOptions’ = None,
)

2.参数

  • 文件 filepath_or_buffer

这是一个默认参数据,没有参数名,不能为空。

可以传文件路径:

filepath_or_bufferstr, path object or file-like object

本地相对路径:

pd.read_csv('data/data.csv') # 注意目录层级
pd.read_csv('data.csv') # 如果文件与代码文件在同目录下
pd.read_csv('data/my/my.data') # CSV 文件扩展名不一定是 csv

本地绝对路径:

pd.read_csv('/user/gairuo/data/data.csv')

使用网址 url

pd.read_csv('https://www.gairuo.com/file/data/dataset/GDP-China.csv')

Amazon S3, 安装支持库 fsspec

pd.read_csv(
    "s3://ncei-wcsd-archive/data/processed/SH1305/18kHz/SaKe2013"
    "-D20130523-T080854_to_SaKe2013-D20130523-T085643.csv",
    storage_options={"anon": True},
)

array-like, optional

  • 分隔符 sep
    字符型,每行数据内容分隔符号,默认是 , 逗号,另外常见的还有 tab 符 \t,空格等,根据数据实际的情况传值。
# str, default ‘,’
# 数据分隔转化是逗号, 如果是其他可以指定
pd.read_csv(data, sep='\t') # 制表符分隔 tab
pd.read_table(data) # read_table 默认是制表符分隔 tab
pd.read_csv(data, sep='|') # 制表符分隔 tab
pd.read_csv(data,sep="(?<!a)\|(?!1)", engine='python') # 使用正则
  • 表头 header

支持 int, list of int,第几行是表头,默认会自动推断,会把第一行作为表头。

# int, list of int, default ‘infer’
# 默认系统会推断,如果指定列名会被忽略
pd.read_csv(data, header=0) # 第一行
pd.read_csv(data, header=None) # 没有表头
pd.read_csv(data, header=[0,1,3]) # 多层索引 MultiIndex
  • 索引列 index_col
    用作行索引的列编号或者列名,如果给定一个序列则有多个行索引。如果文件不规则,行尾有分隔符,则可以设定index_col=False 来是的pandas不适用第一列作为行索引。
# int, str, sequence of int / str, or False, default None
# 默认为 `None`, 不自动识别索引
pd.read_csv(data, index_col=False) # 不再使用首列作为索引
pd.read_csv(data, index_col=0) # 第几列是索引
pd.read_csv(data, index_col='年份') # 指定列名
pd.read_csv(data, index_col=['a','b']) # 多个索引
pd.read_csv(data, index_col=[0, 3]) # 按列索引指定多个索引
  • 使用部分列 usecols
    选取部分列,使用这个参数可以加快加载速度并降低内存消耗。
# list-like or callable, optional
# 读取部分列
pd.read_csv(data, usecols=[0,4,3]) # 按索引只读取指定列,顺序无关
pd.read_csv(data, usecols=['列1', '列5']) # 按列名,列名必须存在
# 指定列顺序,其实是 df 的筛选功能
pd.read_csv(data, usecols=['列1', '列5'])[['列5', '列1']]
# 以下用 callable 方式可以巧妙指定顺序, in 后边的是我们要的顺序
pd.read_csv(data, usecols=lambda x: x.upper() in ['COL3', 'COL1'])
  • 列名
pd.read_csv(data, names=['列1', '列2']) # 指定列名列表
  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值