python输出csv文件 json-如何用python将包含多个表格的json数据转化为多个csv表格输出...

本文探讨如何将包含多个表格数据的复杂JSON文件转换为五个独立的CSV文件。涉及的主要表格包括datasets、tests_results、variables等,旨在解决数据转换的实际需求。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

如果我有如下的JSON格式的数据,里面包含了五个表格的数据datasets,tests_results,variables,test_methods,domains,我想要把这五个表格的数据对应的转化到五个csv表格里面,但是没有思路。

{"log_max": 9.470636386319661,

"datasets":

{"59ae986f855d787d103c2e09": {"dataset_label": "1.1 Vital Signs Details Scheduled", "domain_id": "59ae933c855d787d103a5f20", "dataset_name": "SP_VTLSR"}

},

"success": true,

"tests_results": [

{"category": "missing", "variables_ids": ["59ae933a855d787d103a55e0"], "domain_id": "59ae933a855d787d103a55b2", "signal": {"code": "SIG-9373", "datasource_id": "59406c1a855d784e37e8b075", "pvalues": [{"variables_names": ["FROMDAT"], "dataset_name": "SP_ADV", "test_name": "missing"}, {"variables_names": ["AESEQUL"], "dataset_name": "SP_SP_ADV_1", "test_name": "missing"}, {"variables_names": ["ALCSTU"], "dataset_name": "SP_DEMA", "test_name": "missing"}, {"variables_names": ["HOSADT"], "dataset_name": "HOS1R", "test_name": "missing"}, {"variables_names": ["DOSTIM"], "dataset_name": "DRGRPKR", "test_name": "missing"}, {"variables_names": ["STOPDAT"], "dataset_name": "SP_SP_ADV_1", "test_name": "missing"}], "original_snapshot_id": "5956506cd543640afcfbf241", "actions": ["59827b75d5436452e3a38a0c"], "rationale": "Clinical to confirm and validate high rate of missing values for AE stop date and outcome, Current HOS admission dates and time of dosing.", "id": "595fa5cbd5436472d5a3da03", "description": "High rate of missing on multiple variables and domains. nAE: Fromdat, ASEQULA (was outcome resolved with sequelea), Stopdate (STOPDAT) 13% vs 2.%nDEMA: Units for start drinkingnHOS: Current Admission Date (9% vs ex 0.1%)nDRGRPKR: Time of Dosing", "name": "High missing rate multiple domains", "created": "2017-07-07", "grouping_type_category": "center", "comments": 1, "state": "alert", "location": "1019", "category_id": "583049be855d782c8ff82eec"}, "grouping_type": "center", "rank": 1.0, "N": "12", "observed": 0.0833333, "signal_predicted": true, "QC": "1", "score": 1.7483228529394508, "location": "1019", "test_name": "missing", "expected": 0.00116822, "dataset_id": "59ae933a855d787d103a55b4", "test_id": 2583, "result_id": 372129, "pvalue": 0.0178516},

{"category": "missing", "variables_ids": ["59ae979a855d787d103bdca3"], "domain_id": "59ae933a855d787d103a55b2", "signal": null, "grouping_type": "center", "rank": 4.0, "N": "11", "observed": 0.181818, "signal_predicted": false, "QC": "1", "score": 1.0900366096567389, "location": "1019", "test_name": "missing", "expected": 0.0227001, "dataset_id": "59ae979a855d787d103bdc6c", "test_id": 2599, "result_id": 372954, "pvalue": 0.0812762}

],

"variables": {

"59ae9a5c855d787d103ceb12": {"variable_label": "Height", "dataset_id": "59ae9a5c855d787d103cea80", "critical": false, "domain_id": "59ae933c855d787d103a5f72", "variable_name": "HTRAW"},

"59ae9aa6855d787d103d02b0": {"variable_label": "STANDING-Diastolic Blood Pressure", "dataset_id": "59ae9aa6855d787d103d02a9", "critical": false, "domain_id": "59ae933c855d787d103a5f20", "variable_name": "STANDING_DIABP"},

"59ae9abd855d787d103d1032": {"variable_label": "THROAT-PHYSICAL EXAMINATION RESULT", "dataset_id": "59ae9abd855d787d103d1028", "critical": false, "domain_id": "59ae933c855d787d103a62d6", "variable_name": "THROAT_PEABN"},

"59ae9a99855d787d103cfda9": {"variable_label": "Resolved With Sequelae", "dataset_id": "59ae9a99855d787d103cfcdc", "critical": false, "domain_id": "59ae933c855d787d103a5fe8", "variable_name": "AESEQUL"},

"59ae99f0855d787d103cc2b6": {"variable_label": "QTCF - FRIDERICIA"S CORRECTION FORMULA-Result of finding_Decimal", "dataset_id": "59ae99eb855d787d103cc13b", "critical": false, "domain_id": "59ae933b855d787d103a5d2a", "variable_name": "QTCFFRIDERICIASCORRECTIONFORMULA_EGORRES_DECIMAL"},

"59ae9926855d787d103c6db0": {"variable_label": "Not Done/Done", "dataset_id": "59ae9926855d787d103c6d0a", "critical": false, "domain_id": "59ae933c855d787d103a610a", "variable_name": "CAT_EFND"}

},

"test_methods": {

"count": {"test_label": "Reporting Rate", "test_class": "Data Reporting", "test_name": "count"},

"binary": {"test_label": "Proportion", "test_class": "Data Tendency", "test_name": "binary"}

},

"domains": {

"59ae933c855d787d103a610a": {"min_p_value": 0.0120724, "domain_name": "PGIC", "domain_label": "PGIC"},

"59ae933b855d787d103a5d2a": {"min_p_value": 0.0163001, "domain_name": "B3461028_EXT_ECG", "domain_label": "B3461028_EXT_ECG"},

"59ae933b855d787d103a5c20": {"min_p_value": 0.00437497, "domain_name": "DEMA", "domain_label": "DEMA"},

"59ae933c855d787d103a5fe8": {"min_p_value": 0.0181691, "domain_name": "ADV", "domain_label": "ADV"},

"59ae933c855d787d103a5f72": {"min_p_value": 0.000294958, "domain_name": "VTLS", "domain_label": "VTLS"}

}

}

这类json跟我之前遇到的一个table放在json里面的不太一样,然而之前已经有一个帖子询问过前辈了,并且得到一个非常robust的code。现在我想要询问的就是可以通过什么方式来把这五个表放到五个dataframe里面,然后再通过to_csv来转到csv里面。

非常欢迎前辈们的批评,但是我并不是想要直接的code。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值