如何将xlwings中的每个字段都读作字符串?

2024-10-03 15:28:50 发布

您现在位置:Python中文网/ 问答频道 /正文

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

我是这样读取字段值的: xw.Range(sheet, fieldname ).value

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


Tags: 字符串类型valuerange数字floatxlwingssheet
1条回答
网友
1楼 · 发布于 2024-10-03 15:28:50

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

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

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

最后,您可以这样读取数据(通过预先将字符串转换打包到选项中):

^{pr2}$

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

祝你好运!在

相关问题 更多 >