从CSV文件列将Python中的str转换为int

时间:2017-03-07 00:29:04

标签: python python-3.x mapreduce

我很难在Python中将字符串类型转换为整数。我想要做的是从CSV文件中读取特定列并将其作为整数传递。这是我的代码:

import sys

   for line in sys.stdin:
       line = line.strip()
       line = line.split(",")
       tMax = line [9]
       tMax2 = int(tMax)

       if len(tMax) <=4:
           print (tMax2)

当我运行它时,我收到以下错误,

invalid literal for int() with base 10

我检查了列的类型,它被接受为字符串。

2 个答案:

答案 0 :(得分:2)

在我看来,由于它抱怨int()转换,因此在尝试转换之前tMax中的任何内容都存在问题。

通过添加以下行可以轻松发现:

print('[' + tMax + ']')
在尝试转换之前

这实际上应该合理地清楚地显示问题,此时您可以继续找出为什么字符串值不是您所期望的。

答案 1 :(得分:0)

我跳过了错误中最重要的部分 - 实际描述。错误invalid literal for int() with base 10:TMAX,这意味着它正在抱怨标题。我删除了标题,它运行得很漂亮。我知道有一种更好的方法可以在不删除标题的情况下读取文件;我很快就会知道。