ste*_*azy 4 python csv python-2.4
我有以下类型的 csv
a,b,c
1,2,3
4,5,6
7,8,9
Run Code Online (Sandbox Code Playgroud)
我想将此 csv 文件的每一列解析为一个没有列的列表,因此最终结果将是
myList = ["1","4","7","2","5","8","3","6","9"]
Run Code Online (Sandbox Code Playgroud)
我为一列找到了许多解决方案,但我需要灵活才能读取文件的每一列。我使用的是旧版本的 python,所以我不能使用 pandas 库的任何解决方案。
您可以完全读取文件,然后读取zip行以转置它们,然后链接结果以展平列表。独立示例(使用字符串列表作为输入):
import csv,itertools
text="""a,b,c
1,2,3
4,5,6
7,8,9
""".splitlines()
myList = list(itertools.chain.from_iterable(zip(*csv.reader(text[1:]))))
print(myList)
Run Code Online (Sandbox Code Playgroud)
结果:
['1', '4', '7', '2', '5', '8', '3', '6', '9']
Run Code Online (Sandbox Code Playgroud)
从一个文件中它会读到:
with open("test.csv") as f:
cr = csv.reader(f,separator=",") # comma is by default, but just in case...
next(cr) # skip title
myList = list(itertools.chain.from_iterable(zip(*cr)))
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
828 次 |
| 最近记录: |