我正在尝试将一组字符串从txt文件转换为列表中的int。我能够找到一个不错的代码片段来返回每一行,然后我尝试将其转换为int。问题是数字采用科学计数法,并且出现以下错误:ValueError:int()的无效文字,基数为10:‘3.404788e-001’。
这是我一直在处理的代码
data = []
rawText = open ("data.txt","r")
for line in rawText.readlines():
for i in line.split():
data.append(int(i))
print data[1]
rawText.close()
将float(i)
或decimal.Decimal(i)
用作浮点数,具体取决于保持精度对您的重要性。
float
将数字存储在机器精度的IEEE浮点数中,同时Decimal
保持完整的精度,但代价是速度较慢。
此外,您可以遍历打开的文件,而无需使用readlines()
。
列表理解可以满足您的所有需求:
data = [float(number)
for line in open('data.txt', 'r')
for number in line.split()]
如果您确实只需要整数,则可以使用 int(float(number))
问题内容: 遇到一个问题,我的JSON数据以科学计数法而不是浮点数打印。 打印以下值;。我需要它是一个浮点数,小数点后有8个字符(0.00001370) 如您在此处看到的-> http://i.imgur.com/FCVM1UN.jpg,我的GUI显示正确的第一行(使用完全相同的代码)。 问题答案: 您正在查看浮点数的 默认格式,其中科学计数法用于足够小的数字或大的数字。 您无需进行转换,该 值本
问题内容: 有一个类似的问题,所以建议使用NumberFormat,这是我所做的。 我正在使用NumberFormat的parse()方法。 我得到的结果是 1.93 我真的没想到这会起作用,因为1.930000000000E + 02是一个看起来非常不寻常的数字,我是否必须先进行一些字符串解析才能删除零?还是有一种快速而优雅的方法? 问题答案: 当对科学计数形式的表达式使用DecimalForm
问题内容: 如何将科学计数法转换为常规int例如:1.23E2我想将其转换为123 谢谢。 问题答案: 如果您具有字符串形式的值,则可以使用
很多问题都解决了这个问题,但没有一个解决方案能完全满足我的需要。 我有一个数据框,有两列数字,每列10-20位。这些实际上是ID,我想将它们连接起来。看起来最好先将值转换为字符串。 然而,当使用转换时,熊猫保留了科学符号,这是不会飞的。 我尝试过的事情: 尝试:dtype arg('str')或转换器(使用)在 结果:
问题内容: 一开始我没有清楚地解释我的问题。在python中将json转换为字符串时,请尝试使用和。 我的问题是: 我的预期输出: 我的预期输出: 对我来说,不必再次将输出字符串更改为json(dict)。 这该怎么做? 问题答案: 不仅仅是从Python对象中生成一个 字符串 ,它还会在Type Conversion Table 之后始终生成一个 有效的 JSON字符串(假设对象内部的所有内容都
问题内容: 有没有人能将不安全的字符串转换为? 该字符串通常回来为:或类似的东西。 在这种情况下,我要。如果我想。我从不希望该方法失败,但是我不愿意尝试,除非通过它只是为了隐藏错误(以防万一发生极端情况)。 问题答案: 在这种情况下,您确实有一种避免/的方法,尽管我不建议这样做(假设您的输入字符串名为,并且您处于必须返回某些内容的函数中): 将在部分就是你回什么是你想要比如说,如果是,空,全空间,