我的数据如下:
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
,1915
,387
和1933
以及下面相同的数字;我的文件充满了类似的数据。我尝试了什么:
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)
错误。我该如何修复我的代码?
答案 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)]