2015-08-31 61 views
0

我有一個csv列表3行,但我只想從每個這些行中獲取第一個字符串,並將它們附加到一個新的列表。如何從一個csv文件中的特定字符串到列表 - python 3.4

names = list() 
a = open(sf, 'r') 
for row in a: 
    names.append(row[0]) 
print (names) 

我從這裏得到的輸出只是每個字符串的第一個字母。我怎麼去做,所以我得到整個字符串,因爲它們的長度都不相同。在此先感謝

+0

給出樣本輸入和期望的輸出,你正在閱讀一個csv文件使用正常的閱讀器,因爲你應該使用csv閱讀器 – The6thSense

回答

1

試圖尋找在CSV逗號:

names = list() 
a = open(sf, 'r') 
for row in a: 
    place = row.find(',') 
    names.append(row[:place]) 
print(names) 
1

使用csv模塊來做到這一點。

import csv 

names = [] 
a = open(sf, 'r') 

reader = csv.reader(a, delimiter=',') 

for row in reader: 
    names.append(row[0]) 

print names 
+0

而不是'list()'你可以使用'[]'它更快 – The6thSense

+0

@VigneshKalai謝謝你信息!更新了答案。 –

0

另一種方法是這樣的:

names = [] 
with open(sf, 'r') as fi: 
    for row in fi: 
     names.append(row.split(',')[0]) 

print(names) 

在這裏,您在逗號分割您的CSV的分隔符行(這裏)並將第一個元素追加到名稱中。

如果你寧願分割空白,你可以使用split()沒有參數。

相關問題