人工智能之数据分析 Pandas:第五章 文件处理 - 教程

news/2026/1/22 15:00:32/文章来源:https://www.cnblogs.com/tlnshuju/p/19517177

人工智能之数据分析 Pandas:第五章 文件处理 - 教程

2026-01-22 14:47  tlnshuju  阅读(0)  评论(0)    收藏  举报

人工智能之数据分析 Pandas

第五章 文件处理



前言

Pandas 提供了强大而灵活的文件 I/O 功能,能够轻松读写多种格式的数据文件。本文将对 CSV、Excel、JSON 三种最常用的格式进行详细、具体、实战导向的介绍,包括:

  • 文件读取(read_*

  • 文件写入(to_*

  • 常见参数详解

  • 编码、缺失值、数据类型处理

  • 性能与错误排查技巧


一、CSV 文件处理(最常用)

CSV(Comma-Separated Values)是数据分析中最通用的文本格式。

1. 读取 CSV:pd.read_csv()

基本用法:

import pandas as pd
df = pd.read_csv('data.csv')

常用参数详解:

参数说明示例
filepath_or_buffer文件路径或 URL'sales.csv', 'https://example.com/data.csv'
sep / delimiter分隔符(默认 ,sep='\t'(TSV)
header指定列名行(默认 0header=None(无列名),header=1(第二行为列名)
names自定义列名names=['ID', 'Name', 'Score']
index_col指定某列作为行索引index_col='ID'index_col=0
usecols只读取部分列usecols=['A', 'B']usecols=[0, 2]
dtype指定列数据类型dtype={'ID': 'str', 'Age': 'int8'}
parse_dates解析日期列parse_dates=['Date']
encoding文件编码encoding='utf-8', encoding='gbk'(中文常见)
na_values自定义缺失值标识na_values=['N/A', 'NULL', '']
skiprows跳过开头若干行skiprows=2
nrows仅读前 N 行(调试用)nrows=1000
chunksize分块读取(大文件)chunksize=10000 → 返回 TextFileReader

实战示例:

# 读取含中文的 CSV(常见于 Windows 导出)
df = pd.read_csv('员工表.csv', encoding='gbk')
# 自定义缺失值 + 指定类型
df = pd.read_csv(
'data.csv',
na_values=['-', 'N/A'],
dtype={'user_id': 'str', 'score': 'float32'},
parse_dates=['login_time']
)

提示:若遇 UnicodeDecodeError,尝试 encoding='latin1'chardet 库检测编码。


2. 写入 CSV:df.to_csv()

基本用法:

df.to_csv('output.csv', index=False)  # 通常不保存行索引

关键参数:

参数说明
path_or_buf输出路径
sep分隔符(默认 ,
index是否写入行索引(默认 True,建议设为 False
encoding编码(如 encoding='utf-8-sig' 支持 Excel 正确显示中文)
na_rep缺失值表示(默认空,可设为 'NULL'
date_format日期格式(如 '%Y-%m-%d'
float_format浮点数格式(如 '%.2f'

示例:

df.to_csv('result.csv',
index=False,
encoding='utf-8-sig',   # 避免 Excel 打开中文乱码
na_rep='N/A',
date_format='%Y/%m/%d')

二、Excel 文件处理

Excel(.xlsx, .xls)适合小规模结构化数据交互,但不适合大数据(性能差、体积大)。

⚠️ 需安装额外依赖:

pip install openpyxl    # .xlsx 支持(推荐)
pip install xlrd        # .xls 支持(旧版)

1. 读取 Excel:pd.read_excel()

基本用法:

df = pd.read_excel('report.xlsx')  # 默认读第一个 sheet

常用参数:

参数说明
io文件路径
sheet_name工作表名或索引
header列名行(同 CSV)
usecols读取列范围
skiprows跳过行数
nrows读取行数
dtype指定类型
engine引擎(openpyxl / xlrd

示例:

# 读取多个 sheet
sheets = pd.read_excel('data.xlsx', sheet_name=['用户', '订单'])
# 读取特定区域
df = pd.read_excel('file.xlsx', sheet_name='Data', usecols='B:D', skiprows=2, nrows=100)

技巧:若 Excel 中有合并单元格,Pandas 会将其上方/左侧值填充,可能需后处理。


2. 写入 Excel:df.to_excel()

基本用法:

df.to_excel('output.xlsx', index=False)

多工作表写入(使用 ExcelWriter):

with pd.ExcelWriter('report.xlsx', engine='openpyxl') as writer:
df1.to_excel(writer, sheet_name='用户', index=False)
df2.to_excel(writer, sheet_name='订单', index=False)
df_summary.to_excel(writer, sheet_name='汇总', index=False)

关键参数:

参数说明
sheet_name工作表名
index是否写入索引
startrow / startcol写入起始位置(用于追加到已有模板)
freeze_panes冻结窗格(如 (1, 0) 冻结首行)

示例:追加到现有 Excel 模板

with pd.ExcelWriter('template.xlsx', mode='a', if_sheet_exists='replace') as writer:
df.to_excel(writer, sheet_name='Data', startrow=2, header=False, index=False)

⚠️ 注意:mode='a' 表示追加,if_sheet_exists='replace' 覆盖同名 sheet(需 pandas ≥ 1.4.0)


三、JSON 文件处理

JSON(JavaScript Object Notation)常用于 API 数据交换和 Web 应用。

1. 读取 JSON:pd.read_json()

支持两种主要结构:

  • 记录列表(Records)[{"col1": a, "col2": b}, ...] → 推荐
  • 列字典(Columns){"col1": [a, ...], "col2": [b, ...]}

基本用法:

df = pd.read_json('data.json')

常用参数:

参数说明
path_or_buf文件路径或 JSON 字符串
orientJSON 结构方向
dtype类型推断控制
encoding编码(如 'utf-8'
lines每行一个 JSON 对象(NDJSON 格式)

示例:

# 读取每行一个 JSON(日志常见)
df = pd.read_json('logs.jsonl', lines=True)
# 指定 orient(若自动推断失败)
df = pd.read_json('data.json', orient='records')

如何判断 orient

  • 若 JSON 是 对象数组'records'
  • 若 JSON 是 列名映射到值数组'columns'

2. 写入 JSON:df.to_json()

基本用法:

df.to_json('output.json', orient='records', indent=2)

关键参数:

参数说明
orient输出格式(推荐 'records'
indent缩进(美化输出)
date_format日期格式('iso' / 'epoch'
force_ascii是否转义非 ASCII 字符(中文设为 False
lines每行一个 JSON(用于流式处理)

示例:

# 输出带缩进、支持中文的 JSON
df.to_json('result.json',
orient='records',
indent=2,
force_ascii=False,
date_format='iso')

️ 四、通用技巧与避坑指南

1. 编码问题(尤其中文)

2. 大文件处理

  • CSV:用 chunksize 分块
    for chunk in pd.read_csv('huge.csv', chunksize=10000):
    process(chunk)
  • Excel:避免使用,改用 CSV 或数据库
  • JSON:用 lines=True 流式读取

3. 数据类型保持

  • 读取时用 dtype 明确指定(避免自动转 object)
  • 整数含缺失 → 用 'Int64'(可空整型)
    pd.read_csv(..., dtype={'user_id': 'Int64'})

4. 时间解析优化


✅ 五、总结对比表

格式优点缺点适用场景
CSV轻量、通用、高效不支持多表、无格式数据交换、中间存储
Excel人类友好、支持多表/公式体积大、性能差、依赖引擎小数据交付、报表
JSON结构灵活、Web 友好体积大、无标准 schemaAPI、日志、嵌套数据

最佳实践建议

  • 日常分析用 CSV
  • 交付业务用 Excel
  • 接收 API 数据用 JSON
  • 超大数据考虑 Parquet/HDF5(Pandas 也支持)

后续

python过渡项目部分代码已经上传至gitee,后续会逐步更新。

资料关注

公众号:咚咚王
gitee:https://gitee.com/wy18585051844/ai_learning

《Python编程:从入门到实践》
《利用Python进行数据分析》
《算法导论中文第三版》
《概率论与数理统计(第四版) (盛骤) 》
《程序员的数学》
《线性代数应该这样学第3版》
《微积分和数学分析引论》
《(西瓜书)周志华-机器学习》
《TensorFlow机器学习实战指南》
《Sklearn与TensorFlow机器学习实用指南》
《模式识别(第四版)》
《深度学习 deep learning》伊恩·古德费洛著 花书
《Python深度学习第二版(中文版)【纯文本】 (登封大数据 (Francois Choliet)) (Z-Library)》
《深入浅出神经网络与深度学习+(迈克尔·尼尔森(Michael+Nielsen)》
《自然语言处理综论 第2版》
《Natural-Language-Processing-with-PyTorch》
《计算机视觉-算法与应用(中文版)》
《Learning OpenCV 4》
《AIGC:智能创作时代》杜雨+&+张孜铭
《AIGC原理与实践:零基础学大语言模型、扩散模型和多模态模型》
《从零构建大语言模型(中文版)》
《实战AI大模型》
《AI 3.0》

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/1200545.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Web自动化测试-如何生成高质量的测试报告?

🍅 点击文末小卡片 ,免费获取软件测试全套资料,资料在手,涨薪更快 运行了所有测试用例,控制台输入的结果,如果很多测试用例那也不能够清晰快速的知道多少用例通过率以及错误情况。 web自动化测试实战之…

学完网络安全出去能做什么工作?(非常详细)零基础入门到精通,收藏这一篇就够了

学完网络安全出去能做什么工作?(非常详细)零基础入门到精通,收藏这一篇就够了 想要了解学完网络安全工程师就业班后,出去能做什么工作,这个时候会分甲方或是乙方,看个人更偏向哪个岗位。 甲方…

PH电极选购终极指南:从国产品牌到国际排名,谁才是高精度与在线的性价比之王?

在水质监测、化工生产、食品加工、实验室分析等核心场景中,PH电极作为测量溶液酸碱度的“核心传感器”,其精度、稳定性与适配性直接决定了数据可靠性与生产安全性。面对市场上琳琅满目的国际大牌与崛起的国产品牌,如…

昭通市昭阳鲁甸巧家盐津大关英语雅思培训辅导机构推荐,2026权威出国雅思课程中心学校口碑排行榜

在全球化留学热潮下,雅思考试已成为昭通市昭阳、鲁甸、巧家、盐津、大关等区域学子通往海外名校的重要通行证,但本地雅思考生普遍面临诸多备考困境:零基础入门无方向、单项卡分难以突破、优质培训资源匮乏、留学规划…

类似谷歌搜索文献:高效文献检索与获取方案探讨

做科研的第一道坎,往往不是做实验,也不是写论文,而是——找文献。 很多新手科研小白会陷入一个怪圈:在知网、Google Scholar 上不断换关键词,结果要么信息过载,要么完全抓不到重点。今天分享几个长期使用的…

北京地区top10研究生留学机构,反馈及时,服务高效可靠

北京地区top10研究生留学机构,反馈及时,服务高效可靠一。、如何在北京筛选高效可靠的研究生留学机构2026年1月10日,许多计划攻读硕士学位的北京学子,正面临着选择留学服务机构的难题。大家的痛点通常集中在几个方面…

性能测试、负载测试、压力测试之间的区别

🍅 点击文末小卡片 ,免费获取软件测试全套资料,资料在手,涨薪更快做测试一年多来,虽然平时的工作都能很好的完成,但最近突然发现自己在关于测试的整体知识体系上面的了解很是欠缺,所以&#xff…

基于ai搜索文献的高效文献检索方法与应用研究

做科研的第一道坎,往往不是做实验,也不是写论文,而是——找文献。 很多新手科研小白会陷入一个怪圈:在知网、Google Scholar 上不断换关键词,结果要么信息过载,要么完全抓不到重点。今天分享几个长期使用的…

【实战项目】 基于金融数据的投资决策可视化研究

运行效果:https://lunwen.yeel.cn/view.php?id=5948 基于金融数据的投资决策可视化研究摘要:随着金融市场的不断发展,投资决策的复杂性日益增加。为了提高投资决策的效率和准确性,本文以金融数据为基础,对投资决…

广州地区研究生留学中介口碑排名揭晓,无隐形消费备受青睐

广州地区研究生留学中介口碑排名揭晓,无隐形消费备受青睐作为从事十年广州地区留学申请规划导师,我注意到许多学生在选择研究生留学中介时,最常搜索的问题是:“广州哪家留学中介口碑好?”、“如何避免隐形消费?”…

Chrome+Postman做接口测试

🍅 点击文末小卡片,免费获取软件测试全套资料,资料在手,涨薪更快 如果把测试简单分为两类,那么就是客户端测试和服务端测试。客户端的测试包括UI测试,兼容性测试等,服务端测试包括接口测试。接口…

使用jmeter对数据库进行压力测试

🍅 点击文末小卡片 ,免费获取软件测试全套资料,资料在手,涨薪更快前言很多人提到 jmeter时,只会说到jmeter进行接口自动化或接口性能测试,其实jmeter还能对数据库进行自动化操作。个人常用的场景有以下&…

昇腾芯片模型性能优化深度指南

一、昇腾芯片架构特性理解 1.1 达芬奇架构核心优势 **昇腾芯片(如Ascend 910/310)特性**: - 3D Cube矩阵计算单元:16*16*16 FP16矩阵乘法 - 向量计算单元:FP16/FP32向量运算 - 超大规模片上缓存:L0/L1 Bu…

ACPI!PciConfigSpaceHandlerWorker函数中的ACPI!GetOpRegionScope最终调用了ACPI!IsPciDevice

ACPI!PciConfigSpaceHandlerWorker函数中的ACPI!GetOpRegionScope最终调用了ACPI!IsPciDevice ACPI!IsPciDevice函数和ACPI!GetPciAddress函数是ACPI里面比较重要和麻烦和容易产生新的异步_CTXT的地方。 第一部分: 1: kd> x ACPI!gReadyQueue f743a928 …

岩石图像分割系统源码&数据集分享 [yolov8-seg-C2f-CloAtt等50+全套改进创新点发刊_一键训练教程

背景意义 研究背景与意义 随着计算机视觉技术的迅猛发展,图像分割作为其中的重要研究方向,逐渐在多个领域展现出其广泛的应用潜力。尤其是在地质工程、矿业勘探及环境监测等领域,岩石图像的精准分割对于资源的有效开发和环境保护具有重要意…

文献查询免费网站推荐:实用学术资源检索平台汇总

做科研的第一道坎,往往不是做实验,也不是写论文,而是——找文献。 很多新手科研小白会陷入一个怪圈:在知网、Google Scholar 上不断换关键词,结果要么信息过载,要么完全抓不到重点。今天分享几个长期使用的…

MindSpore开发之路:MindSpore ModelZoo:官方模型库的探索与使用

1. 前言 对于AI开发者而言,除了掌握框架的基本用法,能够站在社区的肩膀上,学习和借鉴他人的优秀成果也至关重要。在AI领域,一个框架的成熟度不仅体现在其自身的功能和性能上,更体现在其生态的丰富程度上。**模型库&am…

山南市英语雅思培训辅导机构推荐,2026权威出国雅思课程中心学校口碑排行榜推荐

经教育部教育考试院备案、全国雅思教学质量评估中心独家指导,参照《2025-2026中国大陆雅思备考趋势白皮书》核心指标,结合山南市乃东区、扎囊县、贡嘎县、隆子县、浪卡子县等区县9000份考生调研问卷、98家教育机构实…

揭秘深圳研究生留学中介:口碑排名前十,学员满意度高原因分析

揭秘深圳研究生留学中介:口碑排名前十,学员满意度高原因分析作为一名从业近十年的国际教育规划师,我时常面对深圳学生及家长的咨询,核心困扰往往集中在几个方面:如何从众多机构中筛选出真正可靠的?所谓的“口碑”…

连续10年霸榜中国大学最高薪专业,本科毕业月薪过万?人才缺口超百万,堪称金饭碗!

连续10年霸榜中国大学最高薪专业,本科毕业月薪过万?人才缺口超百万,堪称金饭碗! 眼瞅着到了8月,一些应届生已经拿到了试用期的工资,却看着余额哀叹: 说好的“毕业即高薪”怎么成了“毕业即吃土…