求助:使用Pandas将Excel(.xlsx)转换为指定格式JSON
如何用Pandas将Excel表格转换为指定格式的JSON数组
嘿,我懂你的困扰——你现在用Pandas转出来的是键值对形式的JSON,但你想要的是包含Name和Code字段的对象数组对吧?这事儿很容易解决,咱们一步步来:
首先,先看你的Excel表格结构:Country name列存的是国家代码(比如IN),Country code列反而存的是国家名称(比如India),所以第一步得把这俩对应关系调过来,然后再生成你要的JSON格式。
这里是具体的代码实现:
import pandas as pd # 加载你的Excel文件 df = pd.read_excel('你的文件路径.xlsx') # 重新构造DataFrame,匹配你需要的字段映射 transformed_df = pd.DataFrame({ 'Name': df['Country code'], # 把原表格的国家名称列对应到Name字段 'Code': df['Country name'] # 把原表格的国家代码列对应到Code字段 }) # 转换为目标JSON格式,orient='records'会生成对象数组 target_json = transformed_df.to_json(orient='records', indent=4) # 打印结果或者保存到文件 print(target_json)
运行这段代码后,你会得到符合JSON规范的目标输出(这里纠正个小细节:你的示例里外层用了{},但正确容纳多个对象的应该是数组[],以下是标准格式的结果):
[ { "Name": "India", "Code": "IN" }, { "Name": "Sri Lanka", "Code": "SL" } ]
核心点就是to_json方法里的orient='records'参数——它会告诉Pandas把DataFrame的每一行转换成一个独立的JSON对象,然后把所有对象放在一个数组里,完美匹配你想要的结构。
内容的提问来源于stack exchange,提问作者lolxtimes
相关产品推荐
相关产品推荐

