使用Python Pandas将Excel转JSON时,如何把空单元格转为null?
Pandas Excel转JSON:将空单元格转为null的解决办法
核心思路
Excel里的空单元格如果被Pandas识别为空字符串,转JSON时就会变成"";只要把这些空值统一转为Pandas的缺失值类型(pd.NA或np.nan),再配合to_json的参数就能输出null。
方法1:读取Excel时直接处理空值
读取阶段就把Excel里的空字符串指定为缺失值,后续转JSON一步到位:
import pandas as pd # 读取Excel,将空字符串识别为Pandas缺失值 df = pd.read_excel("你的文件.xlsx", na_values=[""]) # 转为JSON,指定缺失值输出为null json_result = df.to_json(orient='records', na='null')
方法2:读取后批量替换空字符串
如果已经读取了DataFrame,或者需要针对性处理某几列,可以先替换空字符串为缺失值:
# 替换整个DataFrame里的空字符串为pd.NA(推荐,支持更多数据类型) df = df.replace("", pd.NA) # 或者只处理特定列 df['目标列名'] = df['目标列名'].replace("", pd.NA) # 转JSON时指定缺失值输出为null json_result = df.to_json(orient='records', na='null')
关键参数说明
na_values=[""]:告诉read_excel把Excel里的空字符串当成缺失值读取na='null':让to_json把所有缺失值(pd.NA/np.nan)输出为JSON标准的null
内容的提问来源于stack exchange,提问作者samsal77
相关产品推荐
相关产品推荐

