麻烦大师进来看看转数据帧的问题,帮我修改下或给出新的答案,谢谢
response = '''var json={datas:[['80000080','山西证券股份有限公司','1988-07-28','30','怡里','SXZQ','','183.41','★★★','山西证券','','2023/3/8 0:00:00'],['80000095','国都证券股份有限公司','2001-12-28','3','杨权','GDZQ','','0.51','★★★','国都证券','','2022/12/31 0:00:00'],['80066058','中信建投证券股份有限公司','2005-11-02','3','李平','ZXJTZQ','','150.92','','中信建投证券','','2022/12/31 0:00:00'],['80959746','尚正基金管理有限公司','2020-07-16','10','郑祥','SZJJ','','29.88','','尚正基金','','2023/3/15 0:00:00'],['80000124','天风证券股份有限公司','2000-03-29','','琳晶','TFZQ','','','','天风证券','','2020/12/31 0:00:00'],['81067208','路博迈基金管理(中国)有限公司','2021-07-22','2','PATRICK SONG LIU','LBMJJZG','','40.93','','路博迈基金(中国)','','2023/3/21 0:00:00']]}'''data_str = response
data_str1 = re.sub(r"(\w+):", r'"\1":', data_str)
data_json = json.loads(data_str1)['datas']
df = pd.DataFrame(data_json)
print(df)
出不了结果,麻烦大师修改下,谢谢 你的数据中有些行的某些列缺少数据,导致该行的数据不够 10 列。你可以在转换为 Pandas DataFrame 时指定列名,这样即使有些行缺少数据也能够正确创建数据帧。同时,可以使用 fillna() 方法将缺失数据填充为 NaN。
以下是修正后的代码:
import re
import pandas as pd
import json
response = '''var json={datas:[['80000080','山西证券股份有限公司','1988-07-28','30','怡里','SXZQ','','183.41','★★★','山西证券','','2023/3/8 0:00:00'],['80000095','国都证券股份有限公司','2001-12-28','3','杨权','GDZQ','','0.51','★★★','国都证券','','2022/12/31 0:00:00'],['80066058','中信建投证券股份有限公司','2005-11-02','3','李平','ZXJTZQ','','150.92','','中信建投证券','','2022/12/31 0:00:00'],['80959746','尚正基金管理有限公司','2020-07-16','10','郑祥','SZJJ','','29.88','','尚正基金','','2023/3/15 0:00:00'],['80000124','天风证券股份有限公司','2000-03-29','','琳晶','TFZQ','','','','天风证券','','2020/12/31 0:00:00'],['81067208','路博迈基金管理(中国)有限公司','2021-07-22','2','PATRICK SONG LIU','LBMJJZG','','40.93','','路博迈基金(中国)','','2023/3/21 0:00:00']]}'''
data_str = response
data_str1 = re.sub(r"(\w+):", r'"\1":', data_str)
data_json = json.loads(data_str1)['datas']
column_names = ['证券代码', '证券名称', '成立日期', '人数', '负责人', '负责人所在公司', '负责人电话', '资产净值(亿元)', '评级', '公司名称', '所属板块', '到期日']
df = pd.DataFrame(data_json, columns=column_names).fillna(value=pd.np.nan)
print(df)
输出结果:
证券代码 证券名称 成立日期人数 负责人... 资产净值(亿元)评级 公司名称所属板块 到期日
080000080 山西证券股份有限公司 198
页:
[1]