信息发布→ 登录 注册 退出

PythonCSV文件操作_结构化数据解析【教程】

发布时间:2026-01-04

点击量:
Python处理CSV推荐csv模块(轻量、标准库)或pandas(功能强、适合分析);小数据用csv,复杂操作选pandas;注意编码、换行、引号等细节及中文乱码、数据类型识别等问题。

Python处理CSV文件非常方便,核心是用csv模块或pandas库——前者轻量、标准库自带;后者功能强、适合分析。选哪个取决于你的需求:简单读写用csv,带筛选、计算、合并等操作就上pandas

用csv模块读取CSV文件(基础可靠)

适合小到中等规模数据,不依赖第三方库。注意编码(常见为UTF-8,中文需指定encoding='utf-8'),并处理换行、引号等特殊情况。

  • csv.reader按行读取,返回列表形式的每行数据
  • csv.DictReader把首行当列名,返回字典,更直观易用
  • 读取时建议加newline=''参数,避免Windows下多空行问题

用pandas读写CSV(高效灵活)

pandas.read_csv()自动推断数据类型、跳过空行、处理缺失值(如nan),还能直接切片、过滤、聚合。

  • 常用参数:sep=','(分隔符)、header=0(首行为列名)、na_values=['N/A', ''](自定义空值标识)
  • 写入用df.to_csv('output.csv', index=False)index=False避免多出序号列
  • 中文路径或含中文列名时,保存务必加encoding='utf-8-sig',否则Excel打开乱码

处理常见坑点(实用提醒)

实际操作中容易卡在细节:

  • CSV不是“纯文本表格”——字段含逗号、换行或引号时,必须用双引号包裹,csv模块会自动处理,但手写或Excel导出不规范就易出错
  • 数字被读成字符串?检查是否含空格或单位(如"123 kg"),可用str.strip().replace('kg','').astype(float)清洗
  • 日期列没识别成时间类型?加上parse_dates=['date_column']参数,或后续用pd.to_datetime()

什么时候该换其他格式?

CSV适合交换和初筛,但不适合以下场景:

  • 数据含复杂嵌套结构(如JSON字段)→ 改用JSON或Parquet
  • 文件超100MB、频繁读写 → 考虑SQLite或HDF5提升性能
  • 需要保留样式、多表、公式 → 不是CSV的职责,用Excel(openpyxlxlsxwriter
标签:# excel  # python  # js  # json  # windows  # 编码  # 中文乱码  # csv  # win  # csv文件  # 标准库  
在线客服
服务热线

服务热线

4008888355

微信咨询
二维码
返回顶部
×二维码

截屏,微信识别二维码

打开微信

微信号已复制,请打开微信添加咨询详情!