我想将一个似乎是字典列表(以及其中的其他列表)的列表转换为熊猫数据框。
这是我的数据示例:
['b"{',
'n boxers: [',
'n {',
'n age: 30,',
'n hasBoutScheduled: true,',
'n id: 489762,',
'n last6: [Array],',
"n name: 'Andy Ruiz Jr',",
'n points: 754,',
'n rating: 100,',
'n record: [Object],',
'n residence: [Object],',
"n stance: 'orthodox'",
'n },',
'n {',
'n age: 34,',
'n hasBoutScheduled: true,',
'n id: 468841,',
'n last6: [Array],',
"n name: 'Deontay Wilder',",
'n points: 622,',
'n rating: 100,',
'n record: [Object],',
'n residence: [Object],',
"n stance: 'orthodox'",
'n },',
'n {',
'n age: 30,',
'n hasBoutScheduled: true,',
'n id: 659461,',
'n last6: [Array],',
"n name: 'Anthony Joshua',",
'n points: 603,',
'n rating: 100,',
'n record: [Object],',
'n residence: [Object],',
"n stance: 'orthodox'",
'n },'
这是我迄今为止尝试过的:
pd.DataFrame.from_records(unclean_file)
这会产生大约 27 列 - 大概是每个空格、逗号等的列。
我也尝试过使用ChainMap from collections import ChainMap
pd.DataFrame.from_dict(ChainMap(*unclean_file),orient='index',columns=['age','hasBoutScheduled','id','last6','name','points','rating','record','residence','stance'])
这会产生错误消息: ValueError: dictionary update sequence element #0 has length 1; 2 是必需的
注意:当我提取数据时,我将其转换为列表 - 以澄清我正在使用裸包运行 node.js 文件,该文件返回 json 输出,然后我将其保存到变量成功,最初以字节字符串格式然后转换为一个列表:
success = muterun_js('index.js')
unclean_file = [str(success.stdout).split('\\')]