[python]使用Pandas将Excel文件转换为JSON格式

avatar
作者
筋斗云
阅读量:0

在数据处理和分析过程中,经常需要将Excel文件转换为JSON格式,以便在Web应用程序中使用。本文介绍如何使用Python的Pandas库实现这一功能,并解释其中的关键函数。

代码示例

import pandas as pd import json  def excel_to_json(excel_file):     # 读取Excel文件     xls = pd.ExcelFile(excel_file)          # 创建一个空字典存储每个Sheet的数据     excel_data = {}          # 遍历每个Sheet     for sheet_name in xls.sheet_names:         # 读取Sheet内容为DataFrame         df = pd.read_excel(excel_file, sheet_name=sheet_name)                  # 将DataFrame转换为字典格式         data_dict = df.to_dict(orient='records')                  # 将数据存入字典,以Sheet名为键         excel_data[sheet_name] = data_dict          # 将字典转换为JSON字符串     json_data = json.dumps(excel_data, indent=4, ensure_ascii=False)          return json_data   # 使用示例 excel_file_path = '表格数据.xlsx' json_output = excel_to_json(excel_file_path) print(json_output)  # 如果需要保存为文件,可以使用以下代码: with open('output.json', 'w', encoding='utf-8') as f:     f.write(json_output) 

代码解析

导入必要的库:

import pandas as pd
import json

定义excel_to_json函数:

读取Excel文件并获取所有Sheet的名称。
创建一个空字典来存储每个Sheet的数据。
遍历每个Sheet,将其内容读取为DataFrame,并转换为字典格式。
将每个Sheet的数据存入字典中,以Sheet名为键。
最后,将字典转换为JSON字符串并返回。

关键函数解释:

df.to_dict(orient=‘records’):
这个函数将Pandas DataFrame转换为字典格式。参数orient='records’表示每一行数据将作为一个字典存储在列表中。例如:

[{'列1':1, '列2':2}, {'列1':3, '列2':4}] 

json.dumps(excel_data, indent=4, ensure_ascii=False):这个函数将Python字典转换为JSON字符串。参数indent=4用于美化输出,使JSON字符串更易读;ensure_ascii=False确保输出的JSON字符串中包含非ASCII字符(如中文)时不会被转义。

指定Excel文件路径并调用excel_to_json函数。
打印生成的JSON数据。
如果需要保存为文件,可以使用with open语句将JSON数据写入文件。

    广告一刻

    为您即时展示最新活动产品广告消息,让您随时掌握产品活动新动态!