중첩 된 사전에서 쉼표로 구분 된 값을 만드는 방법은 무엇입니까?

007mrviper

중첩 된 사전의 데이터로 채워진 CSV 파일을 만들어야합니다.

이 질문을 참조하고 있습니다 : Convert Nested Dictionary to CSV Table .

이 문제를 확인했습니다 : From Nested Dictionary to CSV File , 그리고 쉼표로 구분 된 값을 만드는 방법을 찾았습니다.

내 중첩 된 사전은 다음과 같습니다.

users_item = {
    "Angelica": {
    "Blues Traveler": 3.5,
    "Broken Bells": 2.0,
    "Norah Jones": 4.5,
    "Phoenix": 5.0,
    "Slightly Stoopid": 1.5,
    "The Strokes": 2.5,
    "Vampire Weekend": 2.0
},
"Bill":{
    "Blues Traveler": 2.0,
    "Broken Bells": 3.5,
    "Deadmau5": 4.0,
    "Phoenix": 2.0,
    "Slightly Stoopid": 3.5,
    "Vampire Weekend": 3.0}
}

with open('output1.csv', 'w') as csv_file:
    csvwriter = csv.writer(csv_file, delimiter=',')
    for session in users_item:
        for item in users_item[session]:
            csvwriter.writerow([session, item, users_item[session][item]])

이 출력을 생성했습니다.

Angelica,Blues Traveler,3.5
Angelica,Broken Bells,2.0
Angelica,Norah Jones,4.5
Angelica,Phoenix,5.0
Angelica,Slightly Stoopid,1.5
Angelica,The Strokes,2.5
Angelica,Vampire Weekend,2.0
Bill,Blues Traveler,2.0
Bill,Broken Bells,3.5
Bill,Deadmau5,4.0
Bill,Phoenix,2.0
Bill,Slightly Stoopid,3.5
Bill,Vampire Weekend,3.0

그러나 다음 형식으로 출력을 생성해야합니다.

Angelica,Blues Traveler,3.5,Broken Bells,2.0,Norah Jones,4.5,Phoenix,5.0,Slightly Stoopid,1.5,The Strokes,2.5,Vampire Weekend,2.0
Bill,Blues Traveler,2.0,Broken Bells,3.5,Deadmau5,4.0,Phoenix,2.0,Slightly Stoopid,3.5,Vampire Weekend,3.0

위에서 보여준 출력을 얻기 위해 코드를 수정하는 방법을 알려주시겠습니까?

로드 러너

당신은 아주 가깝습니다. 을 사용하여 내부 사전 항목을 목록으로 병합 itertools.chain.from_iterable한 다음 사용자 이름과 결합하고 목록을 CSV 파일에 씁니다.

수정 된 코드 :

from csv import writer
from itertools import chain

users_item = {
    "Angelica": {
        "Blues Traveler": 3.5,
        "Broken Bells": 2.0,
        "Norah Jones": 4.5,
        "Phoenix": 5.0,
        "Slightly Stoopid": 1.5,
        "The Strokes": 2.5,
        "Vampire Weekend": 2.0,
    },
    "Bill": {
        "Blues Traveler": 2.0,
        "Broken Bells": 3.5,
        "Deadmau5": 4.0,
        "Phoenix": 2.0,
        "Slightly Stoopid": 3.5,
        "Vampire Weekend": 3.0,
    },
}  

with open("output.csv", mode="w", newline='') as f:
    writer = writer(f)
    for user, items in users_item.items():
        flattened_items = list(chain.from_iterable(items.items()))
        writer.writerow([user, *flattened_items])

또는 목록 이해력을 사용하여 병합 :

with open("output.csv", mode="w", newline="") as f:
    writer = writer(f)
    for user, items in users_item.items():
        row = [item for kvp in items.items() for item in kvp]
        writer.writerow([user, *row])

또는 키 값 쌍을 한 번에 하나씩 목록으로 확장하는 더 간단한 방법 :

with open("output.csv", mode="w", newline="") as f:
    writer = writer(f)
    for user, items in users_item.items():
        row = [user]
        for k, v in items.items():
            row.extend([k, v])
        writer.writerow(row)

output.csv

Angelica,Blues Traveler,3.5,Broken Bells,2.0,Norah Jones,4.5,Phoenix,5.0,Slightly Stoopid,1.5,The Strokes,2.5,Vampire Weekend,2.0
Bill,Blues Traveler,2.0,Broken Bells,3.5,Deadmau5,4.0,Phoenix,2.0,Slightly Stoopid,3.5,Vampire Weekend,3.0

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

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

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

중첩 목록을 끊고 쉼표로 구분 된 항목을 얻는 방법은 무엇입니까?

분류에서Dev

새 행에서 R의 쉼표로 구분 된 값을 구분하는 방법은 무엇입니까?

분류에서Dev

while 루프에서 쉼표로 구분 된 목록을 만드는 방법은 무엇입니까?

분류에서Dev

Docpad에서 쉼표로 구분 된 태그 목록을 만드는 방법은 무엇입니까?

분류에서Dev

내부 쿼리에서 listagg의 쉼표로 구분 된 값을 사용하는 방법은 무엇입니까?

분류에서Dev

MySQL에서 쉼표로 구분 된 값으로 값을 확인하는 방법은 무엇입니까?

분류에서Dev

단일 열에서 쉼표로 구분 된 여러 값을 표시하는 방법은 무엇입니까?

분류에서Dev

C ++에서 쉼표로 구분 된 값으로 스트림을 읽는 방법은 무엇입니까?

분류에서Dev

symfony2에서 테이블에서 쉼표로 구분 된 값을 얻는 방법은 무엇입니까?

분류에서Dev

Javascript에서 배열을 쉼표로 구분 된 값과 일치시키는 방법은 무엇입니까?

분류에서Dev

배열에서 쉼표로 구분 된 값을 반환하는 방법은 무엇입니까?

분류에서Dev

Excel에서 쉼표로 구분 된 값을 얻는 방법은 무엇입니까?

분류에서Dev

쉼표로 구분 된 문자열에서 이름과 정수 값을 읽는 방법은 무엇입니까?

분류에서Dev

조인을 사용하여 쉼표로 구분 된 값을 얻는 방법은 무엇입니까?

분류에서Dev

MySQL에서 쉼표로 구분 된 문자열 값에서 중앙값을 계산하는 방법은 무엇입니까?

분류에서Dev

LINQ를 사용하여 고유 한 값 목록에서 쉼표로 구분 된 문자열을 만드는 방법은 무엇입니까?

분류에서Dev

중첩 된 스키마에서만 속성 값을 구문 분석하는 방법은 무엇입니까?

분류에서Dev

PHP의 중첩 배열에서 쉼표로 구분 된 목록을 만드는 방법

분류에서Dev

EmberJS에서 쉼표로 구분 된 목록을 테이블에 표시하는 방법은 무엇입니까?

분류에서Dev

쉼표로 구분 된 전체 단어에 대해 issubset을 확인하는 방법은 무엇입니까?

분류에서Dev

다중 인덱싱 된 DataFrame을 중첩 된 사전 구조로 가져 오는 방법은 무엇입니까?

분류에서Dev

R에서 두 개의 쉼표로 구분 된 열을 빼는 방법은 무엇입니까?

분류에서Dev

JSON 응답에서 쉼표로 구분 된 배열을 얻는 방법은 무엇입니까?

분류에서Dev

쉼표로 구분 된 JSON 값을 목록으로 표시하는 방법은 무엇입니까?

분류에서Dev

C #에서 short [] 배열의 숫자에서 쉼표로 구분 된 문자열을 만드는 가장 좋은 방법은 무엇입니까?

분류에서Dev

angular2에서 FormControl을 사용하여 INPUT 태그에서 쉼표로 구분 된 값을 가져 오는 방법은 무엇입니까?

분류에서Dev

R : 행을 제거하고 쉼표로 구분 된 값으로 이전 행에 변수 값을 추가하는 방법은 무엇입니까?

분류에서Dev

Pandas 행을 기반으로 쉼표로 구분 된 값을 추가하는 방법은 무엇입니까?

분류에서Dev

중첩 된 사전 조각에서 사전을 만드는 방법은 무엇입니까?

Related 관련 기사

  1. 1

    중첩 목록을 끊고 쉼표로 구분 된 항목을 얻는 방법은 무엇입니까?

  2. 2

    새 행에서 R의 쉼표로 구분 된 값을 구분하는 방법은 무엇입니까?

  3. 3

    while 루프에서 쉼표로 구분 된 목록을 만드는 방법은 무엇입니까?

  4. 4

    Docpad에서 쉼표로 구분 된 태그 목록을 만드는 방법은 무엇입니까?

  5. 5

    내부 쿼리에서 listagg의 쉼표로 구분 된 값을 사용하는 방법은 무엇입니까?

  6. 6

    MySQL에서 쉼표로 구분 된 값으로 값을 확인하는 방법은 무엇입니까?

  7. 7

    단일 열에서 쉼표로 구분 된 여러 값을 표시하는 방법은 무엇입니까?

  8. 8

    C ++에서 쉼표로 구분 된 값으로 스트림을 읽는 방법은 무엇입니까?

  9. 9

    symfony2에서 테이블에서 쉼표로 구분 된 값을 얻는 방법은 무엇입니까?

  10. 10

    Javascript에서 배열을 쉼표로 구분 된 값과 일치시키는 방법은 무엇입니까?

  11. 11

    배열에서 쉼표로 구분 된 값을 반환하는 방법은 무엇입니까?

  12. 12

    Excel에서 쉼표로 구분 된 값을 얻는 방법은 무엇입니까?

  13. 13

    쉼표로 구분 된 문자열에서 이름과 정수 값을 읽는 방법은 무엇입니까?

  14. 14

    조인을 사용하여 쉼표로 구분 된 값을 얻는 방법은 무엇입니까?

  15. 15

    MySQL에서 쉼표로 구분 된 문자열 값에서 중앙값을 계산하는 방법은 무엇입니까?

  16. 16

    LINQ를 사용하여 고유 한 값 목록에서 쉼표로 구분 된 문자열을 만드는 방법은 무엇입니까?

  17. 17

    중첩 된 스키마에서만 속성 값을 구문 분석하는 방법은 무엇입니까?

  18. 18

    PHP의 중첩 배열에서 쉼표로 구분 된 목록을 만드는 방법

  19. 19

    EmberJS에서 쉼표로 구분 된 목록을 테이블에 표시하는 방법은 무엇입니까?

  20. 20

    쉼표로 구분 된 전체 단어에 대해 issubset을 확인하는 방법은 무엇입니까?

  21. 21

    다중 인덱싱 된 DataFrame을 중첩 된 사전 구조로 가져 오는 방법은 무엇입니까?

  22. 22

    R에서 두 개의 쉼표로 구분 된 열을 빼는 방법은 무엇입니까?

  23. 23

    JSON 응답에서 쉼표로 구분 된 배열을 얻는 방법은 무엇입니까?

  24. 24

    쉼표로 구분 된 JSON 값을 목록으로 표시하는 방법은 무엇입니까?

  25. 25

    C #에서 short [] 배열의 숫자에서 쉼표로 구분 된 문자열을 만드는 가장 좋은 방법은 무엇입니까?

  26. 26

    angular2에서 FormControl을 사용하여 INPUT 태그에서 쉼표로 구분 된 값을 가져 오는 방법은 무엇입니까?

  27. 27

    R : 행을 제거하고 쉼표로 구분 된 값으로 이전 행에 변수 값을 추가하는 방법은 무엇입니까?

  28. 28

    Pandas 행을 기반으로 쉼표로 구분 된 값을 추가하는 방법은 무엇입니까?

  29. 29

    중첩 된 사전 조각에서 사전을 만드는 방법은 무엇입니까?

뜨겁다태그

보관