将固定宽度的非定界浮点字符串转换为逗号分隔的值

妈妈

我有以下字符串的浮点数:

0.621464022829E+00-.143866495639E-020.266573765475E-02-.582189744480E-07

如您所见,该字符串中的数字之间没有空格。我试图使他们的CSV。因此,我希望它们看起来像:

0.621464022829E+00,-.143866495639E-02,0.266573765475E-02,-.582189744480E-07

有没有办法在python中做到这一点?我尝试使用numpy读取文件,例如:

>>> w=numpy.loadtxt('coord', dtype='float')
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/usr/lib/python2.7/dist-packages/numpy/lib/npyio.py", line 856, in loadtxt
items = [conv(val) for (conv, val) in zip(converters, vals)]
ValueError: invalid literal for float():
0.621464022829E+00-.143866495639E-020.266573765475E-02-.582189744480E-07

但是因为没有空格,所以是不可能的。我也尝试过numpy.fromfile似乎读取了文件,但它显示了这一点:

>>> w=numpy.fromfile('coord', dtype='float')
>>> w
array([  3.53728147e-057,   3.03226305e-100,   5.64351177e-038,
         3.70004839e-033,   1.24395502e-047,   3.37923148e-057,
         2.93531907e-086,   3.69971918e-057,   7.25394458e-043])

如果有人可以阐明这个问题,我将感到非常高兴。

编辑:选定的答案有效,但我想补充一点,@ DSM提出的解决方案也非常好:

np.genfromtxt("file.dat", delimiter=18) 
科里·克莱默(Cory Kramer)

看起来您受固定宽度值的限制,而不是定界的。您必须根据字符宽度将字符串切成薄片。

>>> s = '0.621464022829E+00-.143866495639E-020.266573765475E-02-.582189744480E-07'
>>> [float(s[i:i+18]) for i in range(0, len(s), 18)]
[0.621464022829, -0.00143866495639, 0.00266573765475, -5.8218974448e-08]

要读取csv,您可以执行以下操作

with open('file.csv') as f:
    data = [[float(line[i:i+18]) for i in range(0, len(line), 18)] for line in f.readlines()]

然后,您可以把它传递给numpy,如果你想

w = numpy.array(data)

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

将逗号或点字符串转换为单个

来自分类Dev

将字符串或列表的映射转换为值的字符串或逗号分隔的值

来自分类Dev

PHP将逗号分隔的字符串转换为点或符号分隔的值,以存储在MySql中

来自分类Dev

Scala将逗号分隔的字符串转换为Array

来自分类Dev

将逗号分隔的字符串转换为HashSet

来自分类Dev

将范围转换为逗号分隔的字符串

来自分类Dev

将逗号分隔的字符串转换为GetFiles SearchPattern

来自分类Dev

将逗号分隔的字符串转换为日期时间

来自分类Dev

将数组转换为逗号分隔的字符串

来自分类Dev

将逗号分隔的字符串转换为GetFiles SearchPattern

来自分类Dev

将逗号分隔的字符串转换为日期时间

来自分类Dev

将逗号分隔的字符串转换为列表

来自分类Dev

将逗号分隔的字符串转换为数组

来自分类Dev

将数组转换为逗号分隔的字符串

来自分类Dev

将逗号分隔的字符串转换为 JSON

来自分类Dev

PHP:将逗号分隔的值对字符串转换为数组

来自分类Dev

Angular 10-将FormControl数组值转换为以逗号分隔的字符串

来自分类Dev

如何将逗号分隔值的字符串转换为数组

来自分类Dev

将逗号分隔的值字符串转换为XML后,SQL Server过程过早完成

来自分类Dev

将包含逗号分隔值的字符串转换为整数

来自分类Dev

将枚举值转换为逗号分隔字符串的最有效方法

来自分类Dev

将用逗号分隔的字符串数字转换为整数或在python中浮点数

来自分类Dev

合并张量并将字节字符串转换为浮点字符串

来自分类Dev

无法将jTextfield字符串转换为浮点值。

来自分类Dev

将字符串从结构转换为浮点值

来自分类Dev

JS:将数组对象转换为点字符串

来自分类Dev

通过附加串联将字符串数组转换为逗号分隔的字符串

来自分类Dev

如何将逗号分隔的字符串转换为对象内的分隔数组?

来自分类Dev

将逗号分隔的字符串转换为带单引号的字符串列表

Related 相关文章

  1. 1

    将逗号或点字符串转换为单个

  2. 2

    将字符串或列表的映射转换为值的字符串或逗号分隔的值

  3. 3

    PHP将逗号分隔的字符串转换为点或符号分隔的值,以存储在MySql中

  4. 4

    Scala将逗号分隔的字符串转换为Array

  5. 5

    将逗号分隔的字符串转换为HashSet

  6. 6

    将范围转换为逗号分隔的字符串

  7. 7

    将逗号分隔的字符串转换为GetFiles SearchPattern

  8. 8

    将逗号分隔的字符串转换为日期时间

  9. 9

    将数组转换为逗号分隔的字符串

  10. 10

    将逗号分隔的字符串转换为GetFiles SearchPattern

  11. 11

    将逗号分隔的字符串转换为日期时间

  12. 12

    将逗号分隔的字符串转换为列表

  13. 13

    将逗号分隔的字符串转换为数组

  14. 14

    将数组转换为逗号分隔的字符串

  15. 15

    将逗号分隔的字符串转换为 JSON

  16. 16

    PHP:将逗号分隔的值对字符串转换为数组

  17. 17

    Angular 10-将FormControl数组值转换为以逗号分隔的字符串

  18. 18

    如何将逗号分隔值的字符串转换为数组

  19. 19

    将逗号分隔的值字符串转换为XML后,SQL Server过程过早完成

  20. 20

    将包含逗号分隔值的字符串转换为整数

  21. 21

    将枚举值转换为逗号分隔字符串的最有效方法

  22. 22

    将用逗号分隔的字符串数字转换为整数或在python中浮点数

  23. 23

    合并张量并将字节字符串转换为浮点字符串

  24. 24

    无法将jTextfield字符串转换为浮点值。

  25. 25

    将字符串从结构转换为浮点值

  26. 26

    JS:将数组对象转换为点字符串

  27. 27

    通过附加串联将字符串数组转换为逗号分隔的字符串

  28. 28

    如何将逗号分隔的字符串转换为对象内的分隔数组?

  29. 29

    将逗号分隔的字符串转换为带单引号的字符串列表

热门标签

归档