我正在运行下面的代码,它不能工作,除非列表中有一个列表。我希望我的结果是列表中的元组,就像在圆括号中一样。我试着写括号而不是[],但是我得到了一个语法错误。
import xlrd
loc= (r"C:\Users\USER\Documents\MATLAB/results.xlsx")
book = xlrd.open_workbook(loc)
trans_agg= [[sheet.cell_value(r, c) for c in range (1,4)]for r in range(1,sheet.nrows)];
print (trans_agg)
结果是我得到了什么;
[[-38.9681738617398, 35.220378959142636, 5.072061633983768], [0.3058390201478544, -32.91896886230741, 5.0755459371576075], [0.16656016242917882, 37.047877143990405, 5.08026752912042]]
我真正想要的是什么;
[(-38.9681738617398, 35.220378959142636, 5.072061633983768), (0.3058390201478544, -32.91896886230741, 5.0755459371576075), (0.16656016242917882, 37.047877143990405, 5.08026752912042)]
发布于 2019-04-01 00:09:31
您必须在列表理解中替换对函数元组调用的方括号
trans_agg= [tuple(sheet.cell_value(r, c) for c in range (1,4))
for r in range(1, sheet.nrows)]
https://stackoverflow.com/questions/55442805
复制相似问题