按列读取CSV文件

时间:2017-06-23 15:30:11

标签: python file csv

我有这样的csv文件,如下所示: enter image description here

我现在只知道如何按行顺序读取它。这就是我写的:

import csv
enrollments=[]

f=open('D911_Leistung.csv','rb')
reader=csv.reader(f)

for row in reader:
    enrollments.append(row)

f.close()

print(enrollments[0])

显示的是一行:enter image description here

我想分割每个频道的数据,有没有办法实现它?

2 个答案:

答案 0 :(得分:1)

如果您更喜欢纯python方法,则可以将每行的项放入其自己的单独列表中(在读取数据时进行转置)。

(在python2上测试)

import csv
with open('D911_Leistung.csv','rb') as f:
    reader = csv.reader(f)     

    for i, row in enumerate(reader):
        if i == 0: 
            data = [[] for _ in range(len(row))]

        for j, col in enumerate(row):
            data[j].append(col) 

您还可以使用numpy加载数据,然后进行转置。

from numpy import genfromtxt
my_data = genfromtxt('my_file.csv', delimiter=';').T

答案 1 :(得分:1)

您可以使用pandas函数read_csv

import pandas as pd

df = pd.read_csv('D911_Leistung.csv', sep=';')

这会创建一个DataFrame。通常,pandas是一个非常强大的库,用于处理结构化数据。如果您不熟悉Python编程,pandas是一个很好的学习imho的库。