【发布时间】:2012-07-14 23:43:30
【问题描述】:
我正在尝试从 CSV 文件加载数字数据,以便分别循环遍历每个股票(文件)的计算数据,并确定计算值是否大于特定数字(在本例中为 731)。但是,我使用的方法似乎使 Python 重复列表以及在数字('500')周围添加引号,例如,使它们成为字符串。不幸的是,我认为最终的“if”语句无法处理这个问题,因此它似乎无法正常运行。我不确定发生了什么以及为什么 Python 需要做什么才能让这段代码正常运行。
import csv
stocks = ['JPM','PG','GOOG','KO']
for stock in stocks:
Data = open("%sMin.csv" % (stock), 'r')
stockdata = []
for row in Data:
stockdata.extend(map(float, row.strip().split(',')))
stockdata.append(row.strip().split(',')[0])
if any(x > 731 for x in stockdata):
print "%s Minimum" % (stock)
【问题讨论】:
-
为什么要导入库 csv,而不是用户 csv.reader 类?
-
for stock in stocks:表示stock将是一个str,因此它没有.extend()方法。这不可能是你正在运行的代码 -
请将我们可以运行并生成您的问题的代码放入我们的系统中。只有这样我们才能解决您的问题。正如上面评论中提到的
stock是字符串,它没有.extend()方法。 -
以及您实际运行的代码 - 一些示例数据会很有用。
-
现在已更正。对此感到抱歉。
标签: python list loops if-statement