擅长:python、mysql、java
<p>虽然这个问题不是很清楚,但以下几点会让你明白:</p>
<p>此代码将所有数字单元格(在竖线“|”处拆分)转换为数字并保存到列表中</p>
<pre><code>str="00000000-0000-0000-0000-000000000000|12|Company||123 Address|Suite 123|City|ST|12345|Notes|Name|123 Anywhere Road||Notes|ST|12345|00000000-0000-0000-0000-000000000000|1234-1234-1|123456||||"
cells=[int(x) if x.isnumeric() else x for x in str.split('|')]
print (cells)
</code></pre>
<p>输出为:</p>
<pre><code>['00000000-0000-0000-0000-000000000000', 12, 'Company', '', '123 Address', 'Suite 123', 'City', 'ST', 12345, 'Notes', 'Name', '
123 Anywhere Road', '', 'Notes', 'ST', 12345, '00000000-0000-0000-0000-000
000000000', '1234-1234-1', 123456, '', '', '', '']
</code></pre>
<p>我们可以看到,12、12345、12345、123456是数字的,打印时没有引号</p>
<p>如果需要转换其他字符串中的数字,请在空格或连字符处分割单个字符串以进行转换。为了将十六进制字符串转换为十进制数,您可以为<code>int()</code>提供基本参数16,它将正确地转换它,例如</p>
<pre><code>int ("10", 16)
</code></pre>
<p>结果正确到小数点16</p>