51017
```

    1
    2
    3
    4
    5
    
```

というデータが一列だけのcsvファイルがあります。

```

    import csv
    
    with open("~.csv") as fp:
        lst = list(csv.reader(fp))
    print(lst)
    
```

出力するとこのように二次元配列になってしまいます。

```

    [['1'], ['2'], ['3'], ['4'], ['5']]
    
```

`[1, 2, 3, 4, 5]`となるようにしたいです。
CC BY-SA 4.0
2018-12-07T19:39:06.783
51015
2018-12-08T01:48:34.907
2018-12-08T01:36:35.200
23994
31334
question
python csv
csvデータを一次元配列にしたい
## 方法1

目的のファイルが「複数のデータが1行にコンマで区切られて書かれているファイル」ということではなく「1行に必ず1つのみデータがあるファイル」ということであれば、CSV
として読み込むのではなくファイルから各行読み込めば良いです。

```

    with open("test.csv") as fp:
        data = fp.read().splitlines()
    print(data)
    
```

参考

  * [How to read a file line-by-line into a list?](https://stackoverflow.com/q/3277503/5989200) \-- Stack Overflow

## 方法2

CSV を二次元リストとして読み込んだ後、一次元リストに flatten することでも解決できそうです。Python で二次元リストを一次元リストに
flatten するためにはたとえばリスト内包表記が使えます。

```

    with open("test.csv") as fp:
        csvList = list(csv.reader(fp))
    flatList = [item for subList in csvList for item in subList]
    print(flatList)
    
```

参考

  * [How to make a flat list out of list of lists?](https://stackoverflow.com/q/952914/5989200) \-- Stack Overflow
  * [Python Tips：多重リストをフラットにしたい](https://www.lifewithpython.com/2014/01/python-flatten-nested-lists.html) \-- Life with Python
CC BY-SA 4.0
2018-12-08T01:48:34.907
51017
2018-12-08T01:48:34.907
19110
51015
answer