我有這個鏈接的 XML,它顯然有兩個帶有頂行專案的多個記錄集:“Tours”和“Candidats”。
您可以在https://www.resultats-elections.interieur.gouv.fr/telechargements/PR2022/resultatsT1/011/077/077001.xml找到 XML
我想把它變成一個我可以更高效、更方便地閱讀的 Pandas 資料框。我將 URL 傳遞給read_xml這樣的:
pandas.read_xml("https://www.resultats-elections.interieur.gouv.fr/telechargements/PR2022/resultatsT1/011/077/077001.xml")
它回傳這個非常不完整的資料框。XML 中的全部資料不會在此資料框中回傳。問題:如何才能將整個資料放入我可以使用的 Pandas 資料框中?
Type Annee CodReg CodReg3Car LibReg CodDpt \
0 Présidentielle 2022.0 NaN NaN None NaN
1 None NaN 11.0 11.0 ?le-de-France 77.0
CodMinDpt CodDpt3Car LibDpt Commune
0 NaN NaN None NaN
1 77.0 77.0 Seine-et-Marne NaN
僅供參考:我可以用 Excel 讀取這個鏈接的 XML,它回傳應該包含 13 行和 33 列的完整資料框。Excel 可能會簡單地通過大量重復來展平所有內容,但如果我能設法用 Python 做到這一點,那就沒問題了。
uj5u.com熱心網友回復:
無法在普通熊貓中找到一種方法,但幸運的是有一個包可以做到這一點。您可以使用以下方式安裝它:
pip install pandas_read_xml
之后,運行它將產生所需的資料幀:
import pandas_read_xml as pdx
df = pdx.read_xml('https://www.resultats-elections.interieur.gouv.fr/telechargements/PR2022/resultatsT1/011/077/077001.xml')
pdx.fully_flatten(df)
給你:
Election|Scrutin|Type Election|Scrutin|Annee Election|Departement|CodReg Election|Departement|CodReg3Car Election|Departement|LibReg Election|Departement|CodDpt Election|Departement|CodMinDpt Election|Departement|CodDpt3Car Election|Departement|LibDpt Election|Departement|Commune|CodSubCom ... Election|Departement|Commune|Tours|Tour|Mentions|Exprimes|Nombre Election|Departement|Commune|Tours|Tour|Mentions|Exprimes|RapportInscrit Election|Departement|Commune|Tours|Tour|Mentions|Exprimes|RapportVotant Election|Departement|Commune|Tours|Tour|Resultats|Candidats|Candidat|NumPanneauCand Election|Departement|Commune|Tours|Tour|Resultats|Candidats|Candidat|NomPsn Election|Departement|Commune|Tours|Tour|Resultats|Candidats|Candidat|PrenomPsn Election|Departement|Commune|Tours|Tour|Resultats|Candidats|Candidat|CivilitePsn Election|Departement|Commune|Tours|Tour|Resultats|Candidats|Candidat|NbVoix Election|Departement|Commune|Tours|Tour|Resultats|Candidats|Candidat|RapportExprime Election|Departement|Commune|Tours|Tour|Resultats|Candidats|Candidat|RapportInscrit
0 Présidentielle 2022 11 011 ?le-de-France 77 77 077 Seine-et-Marne 001 ... 744 80,87 97,64 1 ARTHAUD Nathalie Mme 2 0,27 0,22
1 Présidentielle 2022 11 011 ?le-de-France 77 77 077 Seine-et-Marne 001 ... 744 80,87 97,64 2 ROUSSEL Fabien M. 13 1,75 1,41
2 Présidentielle 2022 11 011 ?le-de-France 77 77 077 Seine-et-Marne 001 ... 744 80,87 97,64 3 MACRON Emmanuel M. 206 27,69 22,39
3 Présidentielle 2022 11 011 ?le-de-France 77 77 077 Seine-et-Marne 001 ... 744 80,87 97,64 4 LASSALLE Jean M. 15 2,02 1,63
4 Présidentielle 2022 11 011 ?le-de-France 77 77 077 Seine-et-Marne 001 ... 744 80,87 97,64 5 LE PEN Marine Mme 162 21,77 17,61
5 Présidentielle 2022 11 011 ?le-de-France 77 77 077 Seine-et-Marne 001 ... 744 80,87 97,64 6 ZEMMOUR éric M. 79 10,62 8,59
6 Présidentielle 2022 11 011 ?le-de-France 77 77 077 Seine-et-Marne 001 ... 744 80,87 97,64 7 MéLENCHON Jean-Luc M. 124 16,67 13,48
7 Présidentielle 2022 11 011 ?le-de-France 77 77 077 Seine-et-Marne 001 ... 744 80,87 97,64 8 HIDALGO Anne Mme 7 0,94 0,76
8 Présidentielle 2022 11 011 ?le-de-France 77 77 077 Seine-et-Marne 001 ... 744 80,87 97,64 9 JADOT Yannick M. 45 6,05 4,89
9 Présidentielle 2022 11 011 ?le-de-France 77 77 077 Seine-et-Marne 001 ... 744 80,87 97,64 10 PéCRESSE Valérie Mme 68 9,14 7,39
10 Présidentielle 2022 11 011 ?le-de-France 77 77 077 Seine-et-Marne 001 ... 744 80,87 97,64 11 POUTOU Philippe M. 6 0,81 0,65
11 Présidentielle 2022 11 011 ?le-de-France 77 77 077 Seine-et-Marne 001 ... 744 80,87 97,64 12 DUPONT-AIGNAN Nicolas M. 17 2,28 1,85
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/459326.html
下一篇:如何簡化相同的代碼塊?
