[英]My code prints “Not Found” for every line, how do i get it to only print “Not Found” once if the search is unsuccessful?
[英]How do I get my list to print out every line?
我有点困惑为什么这不起作用。 我正在尝试让我的程序读取csv文件的每一行,将其从字符串更改为浮点数,然后逐行打印出来。
csv_list = open('example_data.csv','rb')
lists= csv_list.readlines()
csv_list.close()
for lines in lists:
lists_1 = lists.strip().split()
list_2 = [float(x) for x in lists_1]
print list_2
任何帮助,将不胜感激。
首先,不要使用readlines
。 只需遍历文件
for lines in csv_list:
...
其次,使用csv库阅读http://docs.python.org/2/library/csv.html
例如,它是csv,所以不要用空格分开,而要用逗号或分号分隔。
尝试这个:
import pprint
with open('example_data.csv','rb') as csv_list:
lists= csv_list.readlines()
lists_1 = []
lists_2 = []
for lines in lists:
lists_1.append(lines.strip().split())
list_2.append([float(x) for x in lists_1])
pprint.pprint(list_2)
for lines in lists:
lists_1 = lines.strip().split() # 'lines' here
list_2 = [float(x) for x in lists_1]
print list_2 # print your list in a loop
print list_2
需要与循环的其余部分缩进同一级别,并且应该为lines.strip().split()
print list_2
在for循环之外。 您需要缩进。
从文件名来看,我假设文件中的字段用逗号分隔。 在这种情况下,您需要使用逗号来分隔行:
lists_1 = lists.strip().split(',')
更好的是,使用csv
模块。 这是一个例子:
import csv
with open('example_data.csv', 'rb') as f:
csvreader = csv.reader(f)
for line in csvreader:
line = [float(x) for x in line] # line is now a list of floats
print line
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.