我从csv数据创建了一个工作表,我想创建一个新的工作表并将所有(十六进制)数据转换为十进制格式。我的问题是如何将每个单元格映射到工作表1并将其全部放入工作表2中,其中唯一的区别是单元格上的= HEX2DEC(..)。Python xlsxwriter - hex2dec多个单元格
from xlsxwriter.workbook import Workbook
for csvfile in ['hexData']:
workbook = Workbook(csvfile + '.xlsx')
worksheet = workbook.add_worksheet('hexSheet')
worksheet2 = workbook.add_worksheet('decSheet')
with open(csvfile, 'rb') as f:
reader = csv.reader(f)
for r, row in enumerate(reader):
for c, col in enumerate(row):
worksheet.write(r, c, col)
with open(csvfile, 'rb') as f:
reader = csv.reader(f)
for r, row in enumerate(reader):
for c, col in enumerate(row):
worksheet2.write_formula(r, c, 'HEX2DEC(hexSheet!A2:hexSheet!F16)')
结果是#VALUE!在dec工作表的所有单元格上。当我手动应用该公式时,会发生同样的问题,所以它可能是我对公式本身应用于多个单元格的误解。
对此会感激一些方向。
干杯
'='缺少。尝试写引文,例如''“= HEX2DEC(...”''。另外,如果你的系统是非英文的,请注意Excel函数名是本地化的(翻译过的)。 – handle
是的,我的意思是不包括=也包含它。工作仍然 – arsenal88
你不必打开文件两次,你可以同时写入'工作表' – stovfl