여러 줄의 리스트를 컬럼 하나로 표현

조회수 362회

위 이미지같이 저장된 리스트들을 아래 이미지같이 풀어주려면 어떤 방식을 써야 할까요...?

이미지

이미지

1 답변

  • 좋아요

    0

    싫어요
    채택 취소하기
    • 기본 라이브러리만 사용
    import csv
    from collections import defaultdict
    import itertools as it
    
    with open('input.csv', 'r') as rf, open('output.csv', 'w') as wf:
        csv_reader = csv.DictReader(rf, delimiter=',')
        result = defaultdict(list)
        for row in [{key:value[1:-1].split()} for line in csv_reader for key, value in line.items()]:
            for key, value in row.items():
                result[key].extend(value)
        csv_writer = csv.writer(wf)
        csv_writer.writerow(result.keys())
        csv_writer.writerows(it.zip_longest(*result.values()))
    
    • 3rd 라이브러리 사용
    import pandas as pd
    import numpy as np
    
    df = pd.read_csv('input.csv', converters={'col1':lambda line:line[1:-1].split(), 'col2':lambda line:line[1:-1].split()})
    pd.DataFrame.from_dict({'col1': np.concatenate(df['col1'].values), 'col2':np.concatenate(df['col2'].values)}, orient='index').transpose().to_csv('output.csv', index=False)
    

답변을 하려면 로그인이 필요합니다.

프로그래머스 커뮤니티는 개발자들을 위한 Q&A 서비스입니다. 로그인해야 답변을 작성하실 수 있습니다.

(ಠ_ಠ)
(ಠ‿ಠ)