Python – CSVデータを内包表記でリスト化する

PythonのちょっとしたTipsです。

CSV形式のデータ(改行付きカンマ区切りのテキスト)を扱いやすくするため、内包表記を使ってリスト化する方法を以下に記しておきます。

>>> csv = '''col1,col2,col3
... 1,2,3
... 4,5,6
... 7,8,9'''
>>> 
>>> 
>>> print(csv)
col1,col2,col3
1,2,3
4,5,6
7,8,9
>>> 
>>> 
>>> list = [[x for x in y.split(',')] for y in csv.splitlines()]
>>> 
>>> 
>>> list
[['col1', 'col2', 'col3'], ['1', '2', '3'], ['4', '5', '6'], ['7', '8', '9']]

4行3列のCSVデータを赤字の内包表記でリスト化しています。

splitlinesは改行文字(LFでもCR+LFでも)で文字を分割してくれます。

内包表記の処理の流れは、改行文字で分割した塊(すなわち行部分)をさらにカンマで分割してリストを作っています。

sponsor