python处理数据格式转换的关键在于掌握常用库和步骤。json转csv需先解析再写入,用json和pandas实现;csv转excel只需pandas一行代码,注意编码和索引设置;excel转json要指定sheet并清理空值,支持多种输出格式;封装函数可实现自动化转换。掌握这些技能即可应对多数数据处理任务。

Python在处理数据格式转换方面非常强大,尤其是像JSON、CSV和Excel之间的互转,几乎成了日常编程中不可或缺的技能。只要掌握几个常用库,这些转换操作其实并不复杂。

JSON转CSV:先读取再写入
把JSON数据转成CSV,通常的做法是先解析JSON内容,然后按字段写入CSV文件。这里用到的主要库是json和pandas。
举个例子,如果你有一个包含多个字典的JSON列表:
立即学习“Python免费学习笔记(深入)”;

[
{"name": "张三", "age": 28, "city": "北京"},
{"name": "李四", "age": 32, "city": "上海"}
]你可以这样转换:
- 使用
json.load()或json.loads()加载数据 - 用
pandas.DataFrame()转为DataFrame - 最后调用
.to_csv()输出CSV文件
需要注意的是,如果原始JSON结构比较复杂,比如嵌套层级多,可能需要先做“拍平”处理,否则直接转的话容易出现列不对齐或者类型错误的问题。

CSV转Excel:pandas一行搞定
这个转换可以说是所有里面最简单的了。CSV本质上就是一种纯文本表格格式,而Excel支持导入CSV数据。
使用 pandas 的方法如下:
damishop介绍 大米外贸商城系统 简称damishop 完全开源版,只需做一种语言一键开启全球133中语言自动翻译功能,价格实现自动汇率转换,集成微信支付宝 paypal以及国外主流支付方式,自带文章博客系统,首创支持可视化编辑。 软件架构 基于MVC+语言包模式,增加控制台,API导入产品方便对接其他系统(带json示例数据)。 使用要求
import pandas as pd
df = pd.read_csv('data.csv')
df.to_excel('output.xlsx', index=False)关键点在于:
- 确保CSV文件编码正确(常见是UTF-8)
- 如果有中文乱码,可以加
encoding='utf-8-sig' - Excel输出时一般不带索引,所以建议加上
index=False
如果是大文件,也可以考虑分块读取再写入,避免内存占用过高。
Excel转JSON:注意表头和sheet选择
Excel文件可能包含多个sheet,并且每个sheet的结构不一定一致,所以在转换前要先确定你要读哪个sheet。
基本流程如下:
- 使用
pd.read_excel('file.xlsx', sheet_name='Sheet1')读取指定sheet - 再调用
.to_json(orient='records')转成JSON字符串或写入文件
注意事项包括:
- Excel中的空值会被转为
NaN,导出JSON前最好清理一下 - JSON格式有多种输出形式,比如
orient='records'是每行一个对象,适合前端解析 - 如果字段名不是英文,确保JSON编码没问题,避免中文变成Unicode
小技巧:跨格式批量转换可以封装函数
如果你经常要做这类转换,可以简单封装一个函数,比如:
def convert_format(input_file, output_file):
if input_file.endswith('.csv'):
df = pd.read_csv(input_file)
elif input_file.endswith('.xlsx'):
df = pd.read_excel(input_file)
elif input_file.endswith('.json'):
df = pd.read_json(input_file)
if output_file.endswith('.csv'):
df.to_csv(output_file, index=False)
elif output_file.endswith('.xlsx'):
df.to_excel(output_file, index=False)
elif output_file.endswith('.json'):
df.to_json(output_file, orient='records')这样你只需要传入输入输出路径,就能自动完成转换。当然还可以加参数控制sheet名、编码等。
基本上就这些。掌握了这几个常见格式之间的转换方式,大多数数据处理任务都能轻松应对了。









