python可以正确地从excel读取长字符串编号
当我在Linux中读取Python的Excel长数数据时, 它无法获得正确的值:.EG
6666896190981400000
77798171000076400000
它将获得以下值:
6666896190981400064
77779817100000076402688
我尝试添加一个公式来转换为字符串, 并读取配方单元仍然获得错误的价值。 有人对此有好主意吗? 我的源代码:
from openpyxl import load_workbook
from openpyxl import Workbook
from pycel.excelcompiler import ExcelCompiler
wb = load_workbook(filename="test.xlsx", data_only=True)
ws = wb.active
print("A1:", ws['A1'].value)
col = ws['A']
i = 0
for cell in col:
i= i+1
ws['A' + str(i)].number_format = '0'
ws['B' + str(i)].value = "=\"ID\" & A" + str(i)
ws['C' + str(i)].value = "=Trim(A" + str(i) + ")"
wb.save('test1.xlsx')
wb.close()
excel = ExcelCompiler('test1.xlsx')
value = excel.evaluate('SHEET1!B1")
print("Value-B1:", value)
value = excel.evaluate('SHEET1!C2')
print("Value-B2:", value)
When I read Excel long number data by Python in linux,
it can't get correct value: .e.g.
666896190981400000
77798171000076400000
it will get value as following:
666896190981400064
77798171000076402688
I try add a formula to convert it as string "=Trim(A1)"
and read formula cell still get wrong value.
Anybody has good idea for it?
My source code:
from openpyxl import load_workbook
from openpyxl import Workbook
from pycel.excelcompiler import ExcelCompiler
wb = load_workbook(filename="test.xlsx", data_only=True)
ws = wb.active
print("A1:", ws['A1'].value)
col = ws['A']
i = 0
for cell in col:
i= i+1
ws['A' + str(i)].number_format = '0'
ws['B' + str(i)].value = "=\"ID\" & A" + str(i)
ws['C' + str(i)].value = "=Trim(A" + str(i) + ")"
wb.save('test1.xlsx')
wb.close()
excel = ExcelCompiler('test1.xlsx')
value = excel.evaluate('SHEET1!B1")
print("Value-B1:", value)
value = excel.evaluate('SHEET1!C2')
print("Value-B2:", value)
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论