我想从文件的特定列创建列表,例如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
答案 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,如果变量引用的对象相等,则返回=。