【发布时间】:2014-08-04 03:35:07
【问题描述】:
我正在从 CSV 文件中读取一些数据,然后根据 if 语句打印一个值,但这对我来说似乎没有意义。我希望它会打印equal to 1
Python 代码:
import csv
#open CSV file
csvfile = open("C:\\python.csv", "rb")
data = csv.reader(csvfile)
data = [row for row in data]
#start loop through each item
for currentrow in range(1, 2): # numbers off due to array starting at 0
#grab one record data [row][col]
Count = data[currentrow][7]
print "Count equals: " + Count
if Count > 1:
print "greater than 1"
if Count == 1:
print 'equal to 1'
输出:
Count equals: 1.00
greater than 1
【问题讨论】:
-
在你的 for 循环中尝试
Count = int(float(data[currentrow][7])) -
@inspectorG4dget 您可能应该将其发布为答案。看起来合乎逻辑。
-
旁白:如果您是初学者,我强烈建议您使用 Python 3。它不仅有很多全面的改进,而且您会看到一个非常有用的错误消息。
-
@alecxe:检查以确保这确实是 OP 想要的。还有我不完全理解的
range(1,2)的问题。所以很难说我的建议是否真的解决了一般情况下的问题 -
@inspectorG4dget 这很好用,但现在
print "Count equals: " + Count行不起作用,因为它结合了一个数字和一个字符串。我需要转换回字符串来打印吗?如果需要,怎么办?
标签: python python-2.7 csv