我有一个使用pandas从Excel .xlsx文件创建的DataFrame,如下所示:
TypeName
TypeA
TypeB
TypeC
ElementName1
1A
1B
1C
ElementName2
2A
2B
2C
为了澄清,第一组属性描述了" name"每种类型的属性,而其余属性澄清每个元素的实际值。我需要使用以下格式将其提取到json文件(最好使用pandas DataFrame.to_json,但其他人也可以):
{"TypeName": {
"ElementName1": {
"TypeA": "1A",
"TypeB": "1B",
"TypeC": "1C",
},
"ElementName2": {
"TypeA": "2A",
"TypeB": "2B",
"TypeC": "2C",
},
},
}
然而,在大量玩弄资产熊猫提供的参数之后,我还没有能够解决这个问题。
答案 0 :(得分:0)
我不确定如何以优雅(非手动)的方式将TypeName
作为第一把钥匙,但这无论如何都可以帮到你:
from io import StringIO
import pandas
df = pandas.read_csv(StringIO("""
TypeName,ElementName1,ElementName2
TypeA,1A,2A
TypeB,1B,2B
TypeC,1C,2C"""))
df.set_index('TypeName').to_json()
至少你得到这种结构:
{
"ElementName1": {
"TypeA": "1A",
"TypeB": "1B",
"TypeC": "1C",
},
"ElementName2": {
"TypeA": "2A",
"TypeB": "2B",
"TypeC": "2C",
},
}