gpt4 book ai didi

python - 如何将 xlwings 中的每个字段读取为字符串?

转载 作者:行者123 更新时间:2023-12-01 03:52:39 27 4
gpt4 key购买 nike

我有一个要转换的 exelfile,但数字的默认类型是 float。如何更改它以便 xlwings 显式使用字符串而不是数字?

这是我读取字段值的方式:xw.Range(工作表, 字段名).value

问题是,如果我从中创建一个字符串,像 40 这样的数字会转换为 40.0 。我用: str(xw.Range(sheetFronius, fieldname ).value).rstrip('0').rstrip('.') 删除它,但这不是很有帮助,并且会导致错误,因为有时同一字段可以同时包含数字和字符串。 (不同时,该值是从列表中选择的)

最佳答案

对于 xlwings,如果在读/写操作期间未设置任何选项,则单个单元格将作为“ float ”读入。另外,默认情况下,带有数字的单元格被读取为“ float ”。我搜索了文档,但不认为您可以直接通过 xlwings 将包含数字的单元格转换为“字符串”。幸运的是,一切并没有丢失......

您可以使用 xlwings 将单元格读取为“int”,然后在 Python 中将“int”转换为“string”。实现方法如下:

xw.Range(sheet, fieldname).options(numbers=int).value

最后,您可以通过这种方式读取数据(通过将字符串转换打包到前面的选项中):

xw.Range(sheet, fieldname).options(numbers=lambda x: str(int(x))).value

然后您只需按照通常的方式将其转换为 Python 中的字符串即可。

祝你好运!

关于python - 如何将 xlwings 中的每个字段读取为字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37996435/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com