Python读取csv文件(附带实例)
Python 程序中读取 CSV 文件,主要使用 pandas 模块的 read_csv() 方法,语法如下:
其范围包括头和尾:
【实例 1】下面使用 read_csv() 函数读取 CSV 文件,程序代码如下:
导入 .csv 文件时,需要通过 encoding 参数指定编码格式。当我们将 Excel 文件另存为 .csv 文件时,默认编码格式为 gbk,此时编写代码导入 .csv 文件时,就需要设置编码格式为 gbk,与原文件的编码格式保持一致,否则会提示错误。
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)主要参数说明:
- filepath_or_buffer:字符串,文件路径,也可以是 URL 链接;
- sep、delimiter:字符串,分隔符;
- header:指定作为列名的行,默认值为 0,即取第一行的值为列名。数据为除列名以外的数据,若数据不包含列名,则设置 header=None;
- names:默认值为 None,表示要使用的列名列表;
- index_col:指定列为索引列,默认值为 None,索引 0 表示 DataFrame 的行标签;
-
usecols:int、list 或字符串,默认值为 None;
- 如果为 None,则解析所有列。
- 如果为 int,则解析最后一列。
- 如果为 list,则解析列表中的列。
- 如果为字符串,则解析 Excel 中特定字母的列和范围列表(例如“A:E”或“A,C,E:F”)。
其范围包括头和尾:
- dtype:列的数据类型或字典,默认值为 None。例如{'a':np.float64,'b':np.int32}。
-
parse_dates:布尔类型值、int 类型值的列表、列表组成的列表或字典,默认值为 False。可以通过 parse_dates 参数直接将某列转换成 datetime 64 日期类型。例如,df1=pd.read_csv('1月.csv',parse_dates=['订单付款时间'])
- 当 parse_dates 为 True 时,尝试解析索引。
- 当 parse_dates 为 int 类型值的列表时,如 [1, 2, 3],则解析 1、2、3 列的值为独立的日期列。
- 当 parse_date 为列表组成的列表时,如 [[1, 3]],则将 1、3 列合并,作为一个日期列使用。
- 当 parse_date 为字典时,如{'总计':[1, 3]},则将 1、3 列合并,合并后的列名为“总计”。
- encoding:字符串,默认值为 None,表示文件的编码格式。Python 常用的编码格式是 UTF-8。
- 返回值:DataFrame 对象。
【实例 1】下面使用 read_csv() 函数读取 CSV 文件,程序代码如下:
# 导入pandas模块 import pandas as pd # 设置数据显示的最大列数和宽度 pd.set_option('display.max_columns', 500) pd.set_option('display.width', 1000) # 解决数据输出时列名不对齐的问题 pd.set_option('display.unicode.east_asian_width', True) # 读取CSV文件,并指定编码格式 df1 = pd.read_csv(filepath_or_buffer='../datas/1月.csv', encoding='gbk') # 输出前5条数据 print(df1.head())运行程序,结果为:
买家名称 买家支付金额 收货人姓名 宝贝标题 订单付款时间 mrhy1 49.99 周某某 C语言入门教程 2025-5-1 9:41 mrhy2 49.99 杨某某 C语言入门教程 2025-5-9 15:31 mrhy3 49.99 刘某某 C语言入门教程 2025-5-25 15:21 mrhy4 49.99 张某某 C语言入门教程 2025-5-25 15:25 mrhy5 49.99 赵某某 Python基础教程 2025-5-25 15:25注意,上述代码中指定了编码格式,即 encoding='gbk'。Python 常用的编码格式是 UTF-8 和 gbk,默认编码格式为 UTF-8。
导入 .csv 文件时,需要通过 encoding 参数指定编码格式。当我们将 Excel 文件另存为 .csv 文件时,默认编码格式为 gbk,此时编写代码导入 .csv 文件时,就需要设置编码格式为 gbk,与原文件的编码格式保持一致,否则会提示错误。