如何从文件列创建列表?

时间:2016-05-28 11:18:33

标签: python

我想从文件的特定列创建列表,例如csv文件。如何在不知道索引的情况下将每个值附加到列中?

我创建了一个for循环来查找我想要附加到列表的特定列的索引,但它似乎不正确。我需要以某种方式利用" .split()"方法。很多帮助赞赏:)

filename = open(file_name)
row = filename.readline()
index1 = 0
index2 = 0
list1 = []
list2 = []

for i, value in enumerate(row.split(",")):
   if value is "value1":
      index1 = i
   elif str(value) is "value2":
       index2 = i

rows = filename.readlines()
for value in rows:
   list1.append(int(value.split(",")[index1]))
   list2.append(int(value.split(",")[index2]))

示例文件:

a,b,value1,value2

1,2,3,4

4,5,6,7

1,2,3,4

1 个答案:

答案 0 :(得分:2)

假设您只想将csv文件的第一列值添加到列表中,那么您可以这样做:

<article>

由于您必须使用拆分,请执行以下操作:

import csv
lst=[]
 with open('fl.csv', 'rb') as csvfile:
...     reader = csv.reader(csvfile)
...     for row in reader:
...        lst.add(row[1]);

PS:我假设你的输入文件如下:

ans = []
file = open("sample.csv")
text = file.read()
lst = text.split("\n")
for l in lst:
    p = l.split(",")
    ans.add(p[1])

要使代码正常工作,而不是使用is = =来比较字符串。

hello,hi,bye
wow,nice,good
....
如果两个变量指向同一个对象,

将返回True,如果变量引用的对象相等,则返回=。