ValueError:int()的基数为10的文字无效?

时间:2018-04-09 08:34:16

标签: python list

我的数据如下:

Vertx.vertx(new VertxOptions().setMetricsOptions(new DropwizardMetricsOptions().setEnabled(true)));

我想得到data/processed/10/blueprint-0.png,1915.0,387.0,1933.0,402.0 data/processed/10/blueprint-0.png,3350.0,387.0,3353.0,388.0 19153871933以及下面相同的数字;我的文件充满了类似的数据。我尝试了什么:

402

但我收到with open('data', newline='') as csvfile: results = csv.reader(csvfile, delimiter=',') for row in results: row = [int(v) for v in row] x_coords = row[0:8:2] y_coords = row[1:8:2] top = min(y_coords) bottom = max(y_coords) left = min(x_coords) right = max(x_coords) print (top, bottom,left,right) 错误。我该如何修复我的代码?

1 个答案:

答案 0 :(得分:4)

问题是您的csv文件不包含任何整数值。

它包含一个字符串,然后浮动。

您必须首先解析为float,而不是每行的第一个单元格:

row = [float(v) for v in row[1:]]

如果你想要整数,之后转换为int(有截断的风险)

row = [int(float(v)) for v in row[1:]]

您可以使用itertools.islice BTW保存一个临时列表:

row = [int(float(v)) for v in itertools.islice(row,1,None)]