小编sit*_*ara的帖子

从嵌套 xml 创建数据框并生成 csv

我有一个像这样的 XML 文件:

<?xml version="1.0"?>
<PropertySet>
    <PropertySet NumOutputObjects="1" >
        <Message IntObjectName="Class Def" MessageType="Integration Object">
            <ListOf_Class_Def>
                <ImpExp Type="CLASS_DEF" Name="lp_pkg_cla" Object_Num="1001p">
                    <ListOfObject_Def>
                        <Object_Def Ancestor_Num="" Ancestor_Name="">
                        </Object_Def>
                    </ListOfObject_Def>
                    <ListOfObject_Arrt>
                        <Object_Arrt Orig_Id="6666p" Attr_Name="LP_Portable">
                        </Object_Arrt>
                    </ListOfObject_Arrt>
                </ImpExp>
            </ListOf_Class_Def>
        </Message>
    </PropertySet>
    <PropertySet NumOutputObjects="1" >
        <Message IntObjectName="Class Def" MessageType="Integration Object">
            <ListOf_Class_Def>
                <ImpExp Type="CLASS_DEF" Name="M_pkg_cla" Object_Num="1023i">
                    <ListOfObject_Def>
                        <Object_Def Ancestor_Num="" Ancestor_Name="">
                        </Object_Def>
                    </ListOfObject_Def>
                    <ListOfObject_Arrt>
                        <Object_Arrt Orig_Id="7010p" Attr_Name="O_Portable">
                        </Object_Arrt>
                        <Object_Arrt Orig_Id="7012j" Attr_Name="O_wireless">
                        </Object_Arrt>
                    </ListOfObject_Arrt>
                </ImpExp>
            </ListOf_Class_Def>
        </Message>
    </PropertySet>
    <PropertySet NumOutputObjects="1" >
        <Message IntObjectName="Prod Def" MessageType="Integration Object">
            <ListOf_Prod_Def>
                <ImpExp Type="PROD_DEF" Name="Laptop" …
Run Code Online (Sandbox Code Playgroud)

python xml csv nested dataframe

5
推荐指数
1
解决办法
2532
查看次数

类型错误:序列项 3:预期字符串,找到浮点数

这是我的代码:

import pandas as pd

df1 = pd.read_csv("Book3.csv")
df2 = pd.read_csv("Book4.csv")
df2 = df2.dropna(axis=0)
g = df1.groupby('Attribute_spcName')['Char_spcValue'].apply(', '.join) #join attributes usin commas
df2['Char_spcValue'] = df2['Attribute_spcName'].map(g)
df2.rename(columns={
                 'Attribute_spcName': 'Attributes',
                 'Char_spcValue': 'Values'}, inplace=True)
df2 = df2[['Attributes', 'Values']]

df2.to_csv("AttributeHasValues.csv", index=False)
Run Code Online (Sandbox Code Playgroud)

这是我的结果:

 TypeErrorTraceback (most recent call last)
    <ipython-input-1-91bb6ac8d567> in <module>()
          4 df2 = pd.read_csv("Book4.csv")
          5 df2 = df2.dropna(axis=0)
    ----> 6 g = df1.groupby('Attribute_spcName')['Char_spcValue'].apply(', '.join)
#join attributes usin commas
          7 df2['Char_spcValue'] = df2['Attribute_spcName'].map(g)
          8 df2.rename(columns={

    C:\Users\tt20172129\AppData\Local\Continuum\anaconda2\lib\site-packages\pandas\core\groupby.pyc in apply(self, func, *args, **kwargs)
        714         # ignore SettingWithCopy …
Run Code Online (Sandbox Code Playgroud)

python csv join dataframe pandas

1
推荐指数
1
解决办法
2338
查看次数

标签 统计

csv ×2

dataframe ×2

python ×2

join ×1

nested ×1

pandas ×1

xml ×1