将CSV文件中的数字与python中的2个值进行比较

时间:2017-01-10 19:03:01

标签: python csv

我正在尝试将存储在CSV文件中的数字与2个数字进行比较,如下所示。

问题是我无法将其与其他数字进行比较而不添加' '它周围没有这种方式。

file =  open('data.csv' , 'r')
reader = csv.reader(file)
for row in reader: 
    if  '1400' <= row[0] <= '1920' and '50' <= row[1] <=  '120' :

我认为数字在CSV文件中存储为字符串如果我没有弄错,我需要将这些数字转换为整数或双数,以便能够以我想要的方式使用它,任何种类如果这是一个愚蠢的问题,帮助会很棒,很抱歉。

提前致谢

2 个答案:

答案 0 :(得分:1)

CSV是一种文本格式,因此从CSV文件读取的任何数据都将作为文本读取。您需要将文本转换为适合您程序的数据类型。

您可以使用<=运算符在Python中比较字符串。但是,它会执行文本比较,例如在按字母顺序排列列表时使用。这是不是的数字比较。

忽略错误处理的需要,您可以像这样更正代码:

for row in reader: 
    if  1400 <= int(row[0]) <= 1920 and 50 <= int(row[1]) <= 120 :

答案 1 :(得分:0)

您可以通过将字符串包装在int()函数中将字符串转换为整数。所以你会有类似的东西:

worker

将来,请尝试在Google上搜索类似“将字符串转换为int python”的内容,然后您会更快地得到答案:)