Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/314.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python xlrd将数字读取为字符串_Python_Xlrd - Fatal编程技术网

Python xlrd将数字读取为字符串

Python xlrd将数字读取为字符串,python,xlrd,Python,Xlrd,我试图从xls文件中读取一个长数字(64258710003976),但python在将其作为数字而不是字符串(6.42587100398e+12)读取之前一直对其进行中继。有没有任何方法可以直接将其作为字符串读取,即使在xls文件中它是一个数字 values = sheet.row_values(rownum) 在值中,它正确显示(6425871003976.0),但当我尝试值[0]时,它已切换到不正确的值 解决方案: 这是我使用repr()的解决方案: 这是一个例子,它带来了一个单元格的值(

我试图从xls文件中读取一个长数字(64258710003976),但python在将其作为数字而不是字符串(6.42587100398e+12)读取之前一直对其进行中继。有没有任何方法可以直接将其作为字符串读取,即使在xls文件中它是一个数字

values = sheet.row_values(rownum)
在值中,它正确显示(6425871003976.0),但当我尝试值[0]时,它已切换到不正确的值

解决方案:

这是我使用repr()的解决方案:


这是一个例子,它带来了一个单元格的值(在您的例子中是一个int),您需要使用str函数将其转换为字符串

from openpyxl import load_workbook
wb = load_workbook(filename='xls.xlsx', read_only=True)
ws = wb['Sheet1']
for row in ws.rows:
    for cell in row:
        cell_str=str(cell.value)

这是相同的值。唯一不同的是如何将值打印到屏幕上。你得到的科学符号是因为在它上面打印数字
str
。打印值列表时,列表的内部
\uuuu str\uuu
方法对其每个元素调用
repr
。请尝试打印(repr(值[0])。

使用
打印“%d”%(值[0])


%d用于打印整数值

数字如何显示在excel工作表中?它看起来像6.42587100398e+12(字符串)或642587103976(int)。A你也可以将你的作品添加到问题中。数字显示为6.42587100398e+12
from openpyxl import load_workbook
wb = load_workbook(filename='xls.xlsx', read_only=True)
ws = wb['Sheet1']
for row in ws.rows:
    for cell in row:
        cell_str=str(cell.value)