Pandas之read_csv()函数中文详解

从事数据分析工作,经常需要进行数据清洗,pandas库是数据分析最常用的库之一。本文根据官方文档对pandas的read_csv()函数进行说明。read_csv()函数是用来读取csv文件的内容进而转化为易于操作的数据结构dataframe的常用函数。具有十分强大的功能,可以传入多种参数,下面就根据官方文档以及自己的实践,详细介绍各个参数,对于不易理解的参数会附上示例代码。

pandas.read_csv(filepath_or_buffer, 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, 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, iterator=False, chunksize=None, compression='infer', thousands=None, decimal=b'.', lineterminator=None, quotechar='"', quoting=0, escapechar=None, comment=None, encoding=None, dialect=None, tupleize_cols=None, error_bad_lines=True, warn_bad_lines=True, skipfooter=0, doublequote=True, delim_whitespace=False, low_memory=True, memory_map=False, float_precision=None)

filepath_or_buffer:任何有效的字符串路径。

有效的字符串路径包括文件路径对象类文件对象。文件路径对象包括csv文件的绝对路径、相对路径和URL,如本地的文件路径就可以写成file://localhost/path/to/table.csv;类文件对象则是先对csv文件进行IO封装,再使用read_csv()函数进行调用,比如说Python内置的open()函数。以下给出示例代码。

from pandas import read_csv

# 文件路径对象
result1 = read_csv('table.csv')  # 相对路径
result2 = read_csv('E://demo/table.csv')  # 绝对路径
result3 = read_csv('file://localhost/E://demo/table.csv')  # URL

# 类文件对象
f = open('table.csv')
result4 = read_csv(f)

sep:str,default ','.

一般csv默认逗号为分隔符,如果想使用其他字符对csv文件进行分隔可以指定为其他的字符,此外,还可以指定正则表达式为分隔符。

delimiter:str,默认为None。sep的别名。

header:int,list of int, default 'infer'.

指定DataFrame的某行为列标签,默认为第一行,等同于header=0。如果header=1,则第二行选为列标签。特别的,如果header=None,则列名为0,1,2,3......如果设置header=[0,1,2],则将0,1,2中的值组合为列名。注意:header=0表示数据的第一行而不是文件的第一行,因为有时我们会跳过空白行,此时header=0不会指定跳过的空白行作为列标签。

namesarray-like, optional.

可以将header设为None然后传入一个类数组结构自定义列标签。

index_colint, str, sequence of int / str, or False, default None.

与header类似,指定列作为Dataframe的行标签,可以选择多列组合为行标签。

usecolslist-like or callable.

可以选择想要返回的列,可以按列数取,也可以按列名取。

squeezebool, default False.

如果参数数据只包含一列,则返回的是一个Series。

prefixbool, default True.

当header=None时给列标签添加前缀。如:prefix='X',则列标签为['X1', 'X2', 'X3'......]。

mangle_dupe_colsbool, default True.

区分重复的列,示例如下:

# csv文件中的第一行为['x', 'x', 'x']
file.columns == ['x', 'x', 'x']
# 如果mangle_dupe_cols是True
if mangle_dupe_cols is True:
    # dataframe的第一行是['x', 'x.1', 'x.2']
    dataframe.columns = ['x', 'x.1', 'x.2']
# 如果mangle_dupe_cols是False
else:
    # dataframe的第一行是['x'],x对应csv文件中的第三列,因为后面的列会将前面的列覆盖掉
    dataframe.columns = ['x']

dtypeType name or dict of column -> type.

设置数据类型,可以整个data设置为string,也可以按列设置。当converters函数被指定,则会优先使用converters中指定的数据类型。示例如下:

from pandas import read_csv

# 为整个data集指定数据类型
read_csv('table.csv', dtype=str)
# 为指定列设置数据类型
read_csv('table.csv', dtype={'r1': str, 'r2': int})

convertersdict.

为指定列设置数据类型,Keys可以是字符串(列名),也可以是整型(列的位置)。

  • 2
    点赞
  • 33
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
pandasread_csv函数是用于读取CSV文件的功能。你可以通过指定文件路径来读取文件。例如,你可以使用以下代码读取名为data1.csv的文件: ``` import pandas as pd df = pd.read_csv(r"C:\Users\wwb\Desktop\data1.csv") ``` 在读取CSV文件时,你也可以指定分隔符来解析数据。默认情况下,分隔符是逗号。如果你的文件中使用了不同的分隔符,你可以使用sep参数来指定。例如,如果你的文件使用分号作为分隔符,你可以使用以下代码: ``` import pandas as pd df = pd.read_csv(r"C:\Users\wwb\Desktop\data1.csv", sep=';') ``` 另外,如果你的CSV文件没有表头,你可以使用header参数来指定。默认情况下,header参数的值是"infer",它会尝试自动推断表头。但是如果你的数据没有表头,你可以将header参数设置为None。例如: ``` import pandas as pd df = pd.read_csv(r"C:\Users\wwb\Desktop\data1.csv", header=None) ``` 这样,你就可以详细了解pandasread_csv函数的使用方法。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [详解pandasread_csv函数](https://blog.csdn.net/weixin_42830697/article/details/128717371)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值