python – 需要将字符串读入float数组
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了python – 需要将字符串读入float数组,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1277字,纯文字阅读大概需要2分钟。
内容图文
![python – 需要将字符串读入float数组](/upload/InfoBanner/zyjiaocheng/759/7a214f5f8d9b499a94394124dc842b2b.jpg)
我有一个如下文本文件.我想将给定值读作浮点列表.之后我会做一些计算.我使用split函数和convertion来浮动.但我无法转换第一个和最后一个,因为这两个方括号. ([]).它给出了如下错误.
文件格式
[-1.504, 1.521, 1.531, 1.1579, -2.2976, 2.5927,... 1000 records]
[2.758, -0.951, -1.7952, 0.4255, 2.5403, 1.0233,... 1000 records]
[0.682, -2.205, 2.1981, 2.1329, 0.1574, -0.4695,... 1000 records]
错误
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ValueError: could not convert string to float: [0.682
我用的代码
F = open('XYZ.txt', 'r')
>>> for line in F:
... P = line.split(',')
... P
任何人都可以给我一个想法如何将这些值读入浮点数组,如下所示.
X = [-1.504, 1.521, 1.531, 1.1579, -2.2976, 2.5927,... 1000 records]
Y = [2.758, -0.951, -1.7952, 0.4255, 2.5403, 1.0233,... 1000 records]
Z = [0.682, -2.205, 2.1981, 2.1329, 0.1574, -0.4695,... 1000 records]
然后我可以调用像X [1],X [999]这样的值
解决方法:
使用ast.literal_eval()将每一行解析为浮点数列表:
import ast
with open('XYZ.txt', 'r') as infh:
for line in infh:
row = ast.literal_eval(line)
print row
ast.literal_eval()将每一行解释为包含文字Python值,支持列表,元组,字典,字符串和数字文字.
演示:
>>> import ast
>>> ast.literal_eval('[-1.504, 1.521, 1.531, 1.1579, -2.2976, 2.5927]\n')
[-1.504, 1.521, 1.531, 1.1579, -2.2976, 2.5927]
内容总结
以上是互联网集市为您收集整理的python – 需要将字符串读入float数组全部内容,希望文章能够帮你解决python – 需要将字符串读入float数组所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。