2015-08-31 27 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()没有参数。

相关问题