Python - CSV 파일을 리스트로 변환

CSV 파일의 데이터를 리스트로 변환하는 방법을 소개합니다.

1. CSV 파일의 데이터를 리스트로 변환

CSC 파일은 ,로 데이터가 구분되어있는데, csv.reader()를 이용하여 각 행의 데이터들을 아래와 같이 리스트로 변환할 수 있습니다.

import csv

csv_list = []
with open('data.csv', 'r') as csv_file:
    reader = csv.reader(csv_file)
    csv_list = list(reader)

print(csv_list)

Output:

[['SN', 'City', 'Country'], ['1', 'Seoul', 'Korea'], ['2', 'Tokyo', 'Japanese'], ['3', 'Beijing', 'China']]

data.csv

SN,City,Country
1,Seoul,Korea
2,Tokyo,Japanese
3,Beijing,China

위의 데이터는 2차 리스트로 변환되며, Index로 원하는 row의 데이터를 가져올 수 있습니다.

# first row
print(csv_list[0])

# first data
print(csv_list[0][0])

2. CSV 파일의 데이터를 딕셔너리 리스트로 변환

CSV의 첫번째 row에 데이터 타입을 설명한 것을 header라고 하는데, 아래와 같이 csv.DictReader()를 이용하여 {header: data} 처럼 딕셔너리로 변환하고 리스트에 저장할 수 있습니다.

import csv

csv_list = []
with open('data.csv', 'r') as csv_file:
    reader = csv.DictReader(csv_file)
    csv_list = list(reader)

print(csv_list)

Output:

[{'SN': '1', 'City': 'Seoul', 'Country': 'Korea'}, {'SN': '2', 'City': 'Tokyo', 'Country': 'Japanese'}, {'SN': '3', 'City': 'Beijing', 'Country': 'China'}]

리스트에 row 데이터가 딕셔너리로 저장된 형태이며, 아래와 같이 index로 특정 row 전체에 접근하거나, header의 이름으로 데이터에 접근할 수 있습니다.

# first row
print(csv_list[0])

# first row and City
print(csv_list[0]['City'])
Loading script...
codechachaCopyright ©2019 codechacha