将带有多个工作表的excel文件转换为熊猫中的单个JSON格式



我有一个excel文件,如下所示:我文件的第1页,我的文件的第2张

理想情况下,为了使用Pandas将这些数据转换为我需要的JSON,我会这样做:

appfile = pd.read_excel('AppTest.xlsx', sheet_name = 'Sheet1')
appfile.to_json(path_or_buf = 'AppTest_json.json', orient = 'records', lines = True)

现在,它的输出是这样的:

{"app_id_c":116092749,"cust_id_n":95014843,"laa_app_appr_term_n":36,"laa_promotionscheme":504627,"laa_branchid":8,"laa_app_type_c":"C"}
{"app_id_c":116189540,"cust_id_n":95117032,"laa_app_appr_term_n":48,"laa_promotionscheme":512932,"laa_branchid":48,"laa_app_type_c":"C"}
{"app_id_c":116157227,"cust_id_n":95082957,"laa_app_appr_term_n":36,"laa_promotionscheme":512573,"laa_branchid":136,"laa_app_type_c":"C"}

但是我需要的输出也需要来自第二张表的数据,所以一行数据的JSON应该看起来像这样:

{
"app_id_c":116092749,
"cust_id_n":95014843,
"laa_app_appr_term_n":36,
"laa_promotionscheme":504627,
"laa_branchid":8,
"laa_app_type_c":"C",
"LOS_INPUT_FROMSAS": [
{
"lsi_app_id_c":116092749,
"lsi_cust_type_c":"G"
}
]
}

如何获得这种JSON来合并我的另一张表?

您可以通过以下操作将所有工作表作为数据帧的字典进行读取:

appfile = pd.read_excel('AppTest.xlsx', sheet_name=None)

这将使appfile成为一个dict结构的{sheet_name:Dataframe},您可以循环使用该字典,并对每个表执行任何您喜欢的操作。您似乎已经对编写json有了很好的理解,所以我将让您随心所欲地编写json。

祝你好运!

最新更新