我只想要这里用科学记数法表示的数字.下面的输出是Terminal的Python解释器输出.怎么会这样呢?
添加信息:字符串长度不一样,所以没有字符.长度快捷方式......后缀也不总是一样的.
>>> x
[' 1.9580000000000002E-05\xef\xbb\xbf\r\n']
>>> x[0].split('\\')
[' 1.9580000000000002E-05\xef\xbb\xbf\r\n']
>>>
Run Code Online (Sandbox Code Playgroud)
期望的输出:
1.9580000000000002E-05
Run Code Online (Sandbox Code Playgroud)
>>> import re
>>> x = [' 1.9580000000000002E-05\xef\xbb\xbf\r\n']
>>> float(re.search(r'\d\.\d*E[+-]\d+',x[0]).group())
1.9580000000000002e-05
Run Code Online (Sandbox Code Playgroud)
但是,根据文本的编码和从中获取数据的位置,这可能更"正确":
>>> float(x[0].decode('utf8').encode('ascii', 'ignore').strip())
1.9580000000000002e-05
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2299 次 |
| 最近记录: |