다음은 내 XML 문서입니다.사용자 지정 XML을 JSON 또는 Pandas DataFrame으로 구문 분석하십시오. (파이썬)
<BizTalk xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<Body>
<QUEUE>
<FILTER FILTERNAME="CorrectAddress" VALUE="1" />
<FILTER FILTERNAME="DaysSinceLastTracking" VALUE="0" />
<FILTER FILTERNAME="DaysSinceShipped" VALUE="3" />
<FILTER FILTERNAME="DaysUntilDelivered" VALUE="735101" />
<FILTER FILTERNAME="DeliveryStatus" VALUE="IN_TRANSIT" />
<FILTER FILTERNAME="Division" VALUE="71" />
<FILTER FILTERNAME="EmptyBox" VALUE="0" />
<FILTER FILTERNAME="FedVendInstructions" VALUE="" />
<FILTER FILTERNAME="ItemDescription" VALUE="bla bla bla" />
<FILTER FILTERNAME="ItemIssue" VALUE="Damaged" />
<FILTER FILTERNAME="ItemValue" VALUE="50" />
<FILTER FILTERNAME="PiecedSet" VALUE="0" />
<FILTER FILTERNAME="HasProofOfDelivery" VALUE="0" />
<FILTER FILTERNAME="RecievedPOD" VALUE="0" />
<FILTER FILTERNAME="RequestedAction" VALUE="Reship" />
<FILTER FILTERNAME="HasReturntracking" VALUE="0" />
<FILTER FILTERNAME="IsStandardFillLocation" VALUE="1" />
<FILTER FILTERNAME="Tampered" VALUE="0" />
<FILTER FILTERNAME="HasTracking" VALUE="1" />
<FILTER FILTERNAME="ShortName" VALUE="BDD" />
<FILTER FILTERNAME="IsBOPS" VALUE="0" />
<FILTER FILTERNAME="WrongItemType" VALUE="" />
</QUEUE>
<RESPONSEDATA>
<ITEMS>
<DATA CanReOrder="1" UPC="xxxxxxx" Quantity="1" LineNumber="1" Description="bla bla bla" />
</ITEMS>
<DATA ITEM="Reservation" VALUE="????????" />
<DATA ITEM="ShipmentNumber" VALUE="1" />
<DATA ITEM="ContactedBy" VALUE="Shipping Customer" />
<DATA ITEM="PackageRecieved" VALUE="1" />
<DATA ITEM="CheckedEverywhere" VALUE="0" />
</RESPONSEDATA>
어떻게 팬더 DataFrame이 사용자 정의 XML을 변환합니까?
은 내가 ELementTree를 사용하여 팬더에 요소 트리 객체의 목록을 통과 노력"STR 객체 속성 태그가 없습니다"오류를 던졌습니다 xmljson를 사용하여 일부 미리 정의 된 coversions을 시도하고 빈 던졌습니다 Dataframe :
etree = ET.fromstring(xml_data)
df = pd.DataFrame(list(etree))
print(df)
나는 현재의 필드로 사용자 정의 열 이름으로는 FilterName에 소요 파서,과 가치를 쓸 계획입니다,하지만 하드 코딩입니다. 나는 더 많은 필드가 추가되는 것처럼 앞으로 이런 일이 발생하지 않도록하고 싶다. 수동으로 필드를 추가해야하는 번거 로움이있다.
각 줄마다 반복 할 수있는 방법이 있습니까 (루프로 열기를 사용하여 수행 할 수 있습니다). 그리고 Pandas DataFrame에 동적으로 열을 추가 하시겠습니까?
아니면 효율적인 방법이 있습니까?
참고 : W3Schools에서 XML의 유효성을 검사했으며 오류가 발견되지 않았다고 말하므로 XML이 유효하다고 생각합니다.
감사합니다.