2013-12-13 86 views
1

我有下面的數據CSV在一個名爲data.csv提取一個CSV表到列表(Python 2.7版)

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,並有效地創建所有公司價值,時間價值,距離價值和成本價值的列表。

然後稍後我會做數據分析,比如將所有時間值加在一起等等(我很好)。

我需要將這些數據分成4個不同的變量列表。

如果有人能指出我正確的方向或向我展示幾行簡單的代碼,那真的很感謝。

我開始這個代碼:

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

乾杯

+0

查看http://goo.gl/ZWoiXp –

+0

Paulo我希望我能+1000您的精彩評論。你讓我今天一整天都感覺很好! –

+0

哈哈,沒有幫助不幸。我試圖弄清楚如何獲取數據列表,將其分解爲列中的各個變量。 – chostwales

回答

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

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']