2014-02-05 334 views
0

我有一個字符串列表,其中每個字符串基本上都是從.csv程序拉入的一行數據。 例如:將字符串列表轉換爲字符串數組

data[0] = '2014-01-31,46.83,48.55,46.80,48.03,3414400,48.03' 

data[1] = '2014-01-30,47.47,48.11,47.29,48.00,2083900,48.00' 

...等等。

我想這轉化爲AA二維列表這樣的:

newData[0][0] = '2014-01-31' 
newData[0][0] = '2014-01-30' 
newData[1][0] = '46.83' 
newData[1][1] = '47.47' 

...等

也就是說,我想拆每個,琴絃,但使用時,我試圖data.split(",")它不想這樣做,因爲它是一個列表。有任何想法嗎?

+0

請修復您的格式 – njzk2

+2

使用'csv.reader'讓你的數據永遠不會進入該格式。 – roippi

回答

4

在列表中的項目應用str.split

newData = [item.split(',') for item in data] 

演示:

>>> data = ['2014-01-31,46.83,48.55,46.80,48.03,3414400,48.03', '2014-01-30,47.47,48.11,47.29,48.00,2083900,48.00'] 
>>> newData = [item.split(',') for item in data] 
>>> newData[0][0] 
'2014-01-31' 
>>> newData[1][0] 
'2014-01-30' 

正如其他人所指出的,你應該使用csv模塊從一個CSV文件中讀取數據,考慮到該文件包含:

2014-01-31,46.83,48.55,46.80,48.03,3414400,48.03 
2014-01-30,47.47,48.11,47.29,48.00,2083900,48.00 

此代碼將得到所需要的輸出:

import csv 
with open('file.csv') as f: 
    reader = csv.reader(f) 
    data = list(reader) 
相關問題