将CSV表提取到列表中(python 2.7)

时间:2013-12-13 00:14:55

标签: python database python-2.7

我在名为data.csv

的文件中有以下CSV数据
Inc,Time (seconds),Distance (Miles),cost,,,,,
1,37.7,0.12,7,,,,,
2,31.3,0.02,9,,,,,
3,36,0.13,9,,,,,
4,32.1,0.02,9,,,,,

(它不仅仅是这5行。大约60行)

我需要将这些数据放入Python中,并有效地创建所有Inc Vales,Time Values,Distance Vales和Cost Values的列表。

然后我会做数据分析,例如将所有时间值加在一起等等(我很好)。

我需要将这些数据分成4个不同的变量列表。

如果任何人可以指出我正确的方向或向我展示几行代码可以简单地做到这一点,那将非常感激。

我正在使用以下代码开始此代码:

dat_file = open("data.csv", 'r')
data = my_file.read()

干杯

3 个答案:

答案 0 :(得分:0)

您可能想尝试Python“csv”模块。它们似乎有能力将数据读入行和列。以下链接提供了一些很好的信息和示例: http://www.pythonforbeginners.com/systems-programming/using-the-csv-module-in-python/

答案 1 :(得分:0)

尝试从词典开始:

import csv

data={}
with open('/tmp/sta.txt','r') as fin:
    reader=csv.DictReader(fin)
    for row in reader:
        for k,v in row.items():
            data.setdefault(k,[]).append(float(v))

print data

Splitting values out of a CSV Reader Python

答案 2 :(得分:0)

一种方法:

import csv

data={}
Inc = []
Time = []
Dist = []
Cost = []

f = open("test.csv")
reader=csv.DictReader(f)

for dict in reader:
    Inc.append(dict["Inc"])
    Time.append(dict["Time (seconds)"])
    Dist.append(dict["Distance (Miles)"])
    Cost.append(dict["cost"])

它给出了你想要的东西 - 一系列清单。

In [43]: Inc
Out[43]: ['1', '1', '2', '3', '4']

In [44]: Time
Out[44]: ['37.7', '31.3', '36', '32.1']

In [45]: Cost
Out[45]: ['7', '9', '9', '9']

In [46]: Dist
Out[46]: ['0.12', '0.02', '0.13', '0.02']