Python值类型(int、float、str)

2024-04-26 02:52:43 发布

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

我有一张Excel表格,上面的数据如图所示:Cisco Call Handlers

我正在使用python3并从Excel工作表中读取数据,但是由于它同时包含整数和字符串,所以无法指定数据类型。处理值类型的最佳方法是什么?一开始,整数打印的类型是“float”,后面还有一个“.0”,所以我在每个单元格的编号前加了一个撇号,这样就解决了这个问题,但是整数现在打印为string类型。我想围绕不同的类型建立逻辑,那么最好的方法是什么呢? 这就是我在意识到整数现在打印为字符串类型之前的想法:

if type(value[x]) == str:
    do x
if type(value[x]) == int:
    do y

我考虑的另一个选择是保持float类型并围绕它构建逻辑,但我需要regex帮助删除每个有整数的单元格后面的".0"。 这是我在每个单元格中放置撇号和数字之前打印的内容:

0 ['DisplayName', 'Extension', 0.0, 1.0, 2.0, 3.0, 4.0, 5.0, 6.0, 7.0, 8.0, 9.0]

价值创造如下:

values = dict()
for idx in range(1, xlrdsheet.nrows):
    values[idx] = xlrdsheet.row_values(idx)
for key, value in values.items():
    print(key, value)

Tags: 方法字符串in类型forifvaluetype
1条回答
网友
1楼 · 发布于 2024-04-26 02:52:43

我猜您正在以文本形式从Excel表中读取这些值: 您可以使用regex检查您的值是由数字(r"[0-9]*")还是由字母(r"[a-bA-B]*")组成,并分别进行转换。或:

try:
    number = int(val)
except ValueError:
    text = val

相关问题 更多 >