以新格式写入文本文件

Writing a text file in new format

我有一个这样的文本文件:

   1 0.1278000E-01  0.000000      0.000000         
 259 0.1172645E-01-0.5057909E-02  0.000000         
 260 0.7262609E-02-0.1052830E-01  0.000000

它有 4 列和 3 行。最后一列中的数字始终为零。如果第三列中的数字不为零(第 2,3 行),则此数字附加到第二列中的数字。 我想在此文件中添加一些内容并将其格式更改为:

Point(1) = {0.1174800E-01, 0, 0};

Point(259) = {0.1172645E-01, -0.5057909E-02, 0};

Point(260) = {0.7262609E-02, -0.1052830E-01, 0};

有人知道我该怎么做吗?

谢谢!

Python 3.6 中这个问题的解决方案:

lines = [line.rstrip('\n') for line in open('input.txt')]
output = open('output.txt', 'w')

for line in lines:
    line = line.split()
    if len(line) == 3:
         line[1], line[2] = line[1][:line[1].find("E") + 4], 
                                    line[1][line[1].find("E") + 4:]
    output.write('Point({}) = {{{}, {}, 0}};\n'.format(line[0], line[1], line[2] 
                                                        if float(line[2]) != 0 else '0'))

output.close()

编辑:现在编码有点硬,因为值没有用空格分隔,但它工作正常。我想你可以用正则表达式改进它,我会看看。