史上最全!用Pandas读取CSV,看这篇就够了

您所在的位置:网站首页 panda的拼读 史上最全!用Pandas读取CSV,看这篇就够了

史上最全!用Pandas读取CSV,看这篇就够了

2024-07-03 06:10| 来源: 网络整理| 查看: 265

导读:pandas.read_csv接口用于读取CSV格式的数据文件,由于CSV文件使用非常频繁,功能强大,参数众多,因此在这里专门做详细介绍。

作者:李庆辉

来源:大数据DT(ID:hzdashuju)

01 语法

基本语法如下,pd为导入Pandas模块的别名:

代码语言:javascript复制pd.read_csv(filepath_or_buffer: Union[str, pathlib.Path, IO[~AnyStr]], sep=',', delimiter=None, header='infer', names=None, index_col=None, usecols=None, squeeze=False, prefix=None, mangle_dupe_cols=True, dtype=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, dialect=None, error_bad_lines=True, warn_bad_lines=True, delim_whitespace=False, low_memory=True, memory_map=False, float_precision=None)

一般情况下,会将读取到的数据返回一个DataFrame,当然按照参数的要求会返回指定的类型。

02 数据内容

filepath_or_buffer为第一个参数,没有默认值,也不能为空,根据Python的语法,第一个参数传参时可以不写参数名。可以传文件路径:

代码语言:javascript复制# 支持文件路径或者文件缓冲对象 # 本地相对路径 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')

需要注意的是,Mac中和Windows中路径的写法不一样,上例是Mac中的写法,Windows中的相对路径和绝对路径需要分别换成类似'data\data.csv'和'E: \data\data.csv'的形式。另外,路径尽量不要使用中文,否则程序容易报错,这意味着你存放数据文件的目录要尽量用英文命名。

可以传数据字符串,即CSV中的数据字符以字符串形式直接传入:

代码语言:javascript复制from io import StringIO data = ('col1,col2,col3\n' 'a,b,1\n' 'a,b,2\n' 'c,d,3') pd.read_csv(StringIO(data)) pd.read_csv(StringIO(data), dtype=object)

也可以传入字节数据:

代码语言:javascript复制from io import BytesIO data = (b'word,length\n' b'Tr\xc3\xa4umen,7\n' b'Gr\xc3\xbc\xc3\x9fe,5') pd.read_csv(BytesIO(data))

03 分隔符

sep参数是字符型的,代表每行数据内容的分隔符号,默认是逗号,另外常见的还有制表符(\t)、空格等,根据数据的实际情况传值。

代码语言:javascript复制# 数据分隔符默认是逗号,可以指定为其他符号 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="(?


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3