Pandas DataFrame에서 XML의 다른 태그 요소를 한 줄로 전달하는 방법은 무엇입니까?

니코 톱스

이것은 멍청한 질문 일 수 있지만 Python에서 XML 파일을 구문 분석하는 방법에 대한 몇 가지 질문 / 기사를 살펴 봤고 예제로 사용 된 파일이 실제로 내 것과 같지 않아서 약간 갇혀 있습니다. 내가 가지고있는 것의 예는 다음과 같습니다.

<item client="client_A" is_known="yes">
 <sales1 id="sales1_name" check="no"></sales1>
 <sales2 id="sales2_name" check="yes"></sales2>
</item>
<item client="client_B" is_known="no">
 <sales1 id="sales1_name" check="yes"></sales1>
 <sales2 id="sales2_name" check="yes"></sales2>
</item>
<item client="client_C" is_known="yes">
 <sales2 id="sales2_name" check="yes"></sales2>
 <sales3 id="sales3_name" check="no"></sales3>
</item>

파일의 주요 부분은 속성 및 기타 태그가 중첩 된 일련의 항목 태그입니다. 내가하고 싶은 것은 Python의 pandas DataFrame에서 변환하는 것이지만 항목 태그 내의 모든 정보가 온라인 상태가되기를 바랍니다. 예 :

고객 is_known sales_id sales2_id
client_A sales1_name sales2_name

pandas 및 xml.etree.ElementTree 라이브러리를 사용하여 다음 코드를 빌드 할 수있었습니다.

#DataFrame with the desired columns
df_cols = ['client',
           'is_known',
           'sales1_id',
           'sales2_id'
          ]

#empty list that is filled with the loop
rows = []

#Loop that goes through the tags, look for the attribs and pass them into the rows 
for node in root.iter():
    client = node.attrib.get('client')
    is_known = node.attrib.get('is_known')
    sales1_id = node.attrib.get('id')
    sales2_id = node.attrib.get('id')
    
    rows.append({
        'client': client,
        'is_known': is_known,
        'sales1_id': sales1_id,
        'sales2_id': sales2_id
        })
    
    out_df = pd.DataFrame(rows, columns = df_cols)

그러나 내가 얻은 것은 이것뿐입니다.

여기에 이미지 설명 입력

그래서 여기 내 문제는 두 배입니다.

  1. 모든 데이터를 한 줄에 표시하려면 어떻게해야합니까?
  2. 서로 다른 태그간에 동일한 속성에 대한 올바른 값을 찾도록 코드에 지시하려면 어떻게해야합니까?

미리 감사드립니다!

잭 플리 팅

다음과 같은 방법을 시도해 볼 수 있습니다.

items = root.findall('.//item')
rows = []
for item in items:
    row = []
    row.extend([item.attrib['client'],item.attrib['is_known']])
    for sale in item.findall('.//*'):
        row.append(sale.attrib['id'])
    rows.append(row)
pd.DataFrame(rows,columns=df_cols)

산출:

    client  is_known    sales1_id   sales2_id
0   client_A    yes     sales1_name     sales2_name
1   client_B    no  sales1_name     sales2_name
2   client_C    yes     sales2_name     sales3_name

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

두 개의 다른 헤더 (h2) 태그를 한 줄에 유지하는 방법은 무엇입니까?

분류에서Dev

한 Flask 경로에서 다른 경로로 Altair 그래프를 전달하는 방법은 무엇입니까?

분류에서Dev

숭고한 텍스트로 된 .txt 파일의 다른 줄에 HTML 태그를 자동으로 추가하는 방법은 무엇입니까?

분류에서Dev

한 구성 요소에 다른 파일의 다른 구성 요소로 상태를 전달하는 방법

분류에서Dev

XML Python의 동일한 부모 내에서 동일한 태그를 기반으로 요소를 결합하는 방법은 무엇입니까?

분류에서Dev

XML Python의 동일한 부모 내에서 동일한 태그를 기반으로 요소를 결합하는 방법은 무엇입니까?

분류에서Dev

한 SVG 요소의 지점에서 다른 지점으로 그리는 방법은 무엇입니까?

분류에서Dev

두 개의 div 태그를 한 줄에 세로로 유지하는 방법은 무엇입니까?

분류에서Dev

VueJS에서 한 자식 구성 요소의 값을 다른 구성 요소로 전달하는 방법은 무엇입니까?

분류에서Dev

React의 한 자식 구성 요소에서 다른 자식 구성 요소로 데이터 값을 전달하는 방법은 무엇입니까?

분류에서Dev

한 statefulwidget의 상태를 flutter에서 다른 상태로 변경하는 방법은 무엇입니까?

분류에서Dev

다른 열의 한 요소를 기준으로 그룹을 제외하는 방법은 무엇입니까?

분류에서Dev

한 Vue 구성 요소에서 다른 구성 요소로 계산 된 매개 변수를 전달하는 방법은 무엇입니까?

분류에서Dev

한 활동의 목록보기에서 데이터를 전달하고 다른 활동으로 전달하는 방법은 무엇입니까?

분류에서Dev

React Native에서 한 함수 구성 요소의 상태를 다른 함수 구성 요소에서 변경하는 방법은 무엇입니까?

분류에서Dev

한 형태에서 버튼을 눌러 객체를 생성하고 다른 형태로 전달하는 방법은 무엇입니까?

분류에서Dev

배열의 요소를 다른 요소에 전달하는 방법은 무엇입니까?

분류에서Dev

다른 목록의 한 요소로 시작하는 줄 목록에서 특정 줄을 찾는 방법은 무엇입니까?

분류에서Dev

파일의 모든 로그가 한 줄에있는 경우 로그를 전달하는 방법은 무엇입니까?

분류에서Dev

app.js에서 다른 파일로 상태 및 소품을 전달하는 방법은 무엇입니까?

분류에서Dev

Stata의 한 차트에서 stcurve로 다른 그래프를 그리는 방법은 무엇입니까?

분류에서Dev

한 에코의 출력을 다른 에코의 입력으로 전달하는 방법은 무엇입니까?

분류에서Dev

ViewPager에서 한 조각의 값을 다른 조각으로 전달하는 방법은 무엇입니까?

분류에서Dev

history.push를 사용할 때 한 구성 요소에서 다른 구성 요소로 상태 변수를 가져 오는 방법은 무엇입니까?

분류에서Dev

한 함수에서 다른 함수로 tkinter의 입력 상자에 입력 된 텍스트를 전달하는 방법은 무엇입니까?

분류에서Dev

한 시스템에서 다른 시스템으로 포트를 전달하는 방법은 무엇입니까?

분류에서Dev

한 시스템에서 다른 시스템으로 포트를 전달하는 방법은 무엇입니까?

분류에서Dev

한 JSP에서 다른 JSP로 객체를 전달하는 방법은 무엇입니까?

분류에서Dev

한 열에서 다른 열로 데이터를 전달하는 방법은 무엇입니까?

Related 관련 기사

  1. 1

    두 개의 다른 헤더 (h2) 태그를 한 줄에 유지하는 방법은 무엇입니까?

  2. 2

    한 Flask 경로에서 다른 경로로 Altair 그래프를 전달하는 방법은 무엇입니까?

  3. 3

    숭고한 텍스트로 된 .txt 파일의 다른 줄에 HTML 태그를 자동으로 추가하는 방법은 무엇입니까?

  4. 4

    한 구성 요소에 다른 파일의 다른 구성 요소로 상태를 전달하는 방법

  5. 5

    XML Python의 동일한 부모 내에서 동일한 태그를 기반으로 요소를 결합하는 방법은 무엇입니까?

  6. 6

    XML Python의 동일한 부모 내에서 동일한 태그를 기반으로 요소를 결합하는 방법은 무엇입니까?

  7. 7

    한 SVG 요소의 지점에서 다른 지점으로 그리는 방법은 무엇입니까?

  8. 8

    두 개의 div 태그를 한 줄에 세로로 유지하는 방법은 무엇입니까?

  9. 9

    VueJS에서 한 자식 구성 요소의 값을 다른 구성 요소로 전달하는 방법은 무엇입니까?

  10. 10

    React의 한 자식 구성 요소에서 다른 자식 구성 요소로 데이터 값을 전달하는 방법은 무엇입니까?

  11. 11

    한 statefulwidget의 상태를 flutter에서 다른 상태로 변경하는 방법은 무엇입니까?

  12. 12

    다른 열의 한 요소를 기준으로 그룹을 제외하는 방법은 무엇입니까?

  13. 13

    한 Vue 구성 요소에서 다른 구성 요소로 계산 된 매개 변수를 전달하는 방법은 무엇입니까?

  14. 14

    한 활동의 목록보기에서 데이터를 전달하고 다른 활동으로 전달하는 방법은 무엇입니까?

  15. 15

    React Native에서 한 함수 구성 요소의 상태를 다른 함수 구성 요소에서 변경하는 방법은 무엇입니까?

  16. 16

    한 형태에서 버튼을 눌러 객체를 생성하고 다른 형태로 전달하는 방법은 무엇입니까?

  17. 17

    배열의 요소를 다른 요소에 전달하는 방법은 무엇입니까?

  18. 18

    다른 목록의 한 요소로 시작하는 줄 목록에서 특정 줄을 찾는 방법은 무엇입니까?

  19. 19

    파일의 모든 로그가 한 줄에있는 경우 로그를 전달하는 방법은 무엇입니까?

  20. 20

    app.js에서 다른 파일로 상태 및 소품을 전달하는 방법은 무엇입니까?

  21. 21

    Stata의 한 차트에서 stcurve로 다른 그래프를 그리는 방법은 무엇입니까?

  22. 22

    한 에코의 출력을 다른 에코의 입력으로 전달하는 방법은 무엇입니까?

  23. 23

    ViewPager에서 한 조각의 값을 다른 조각으로 전달하는 방법은 무엇입니까?

  24. 24

    history.push를 사용할 때 한 구성 요소에서 다른 구성 요소로 상태 변수를 가져 오는 방법은 무엇입니까?

  25. 25

    한 함수에서 다른 함수로 tkinter의 입력 상자에 입력 된 텍스트를 전달하는 방법은 무엇입니까?

  26. 26

    한 시스템에서 다른 시스템으로 포트를 전달하는 방법은 무엇입니까?

  27. 27

    한 시스템에서 다른 시스템으로 포트를 전달하는 방법은 무엇입니까?

  28. 28

    한 JSP에서 다른 JSP로 객체를 전달하는 방법은 무엇입니까?

  29. 29

    한 열에서 다른 열로 데이터를 전달하는 방법은 무엇입니까?

뜨겁다태그

보관