gpt4 book ai didi

python - 基于多个定界符拆分字符串不会产生一致的结果

转载 作者:太空宇宙 更新时间:2023-11-03 12:36:34 26 4
gpt4 key购买 nike

我有一个包含许多行的文件类型,其中包含如下信息:

  P087 = ( 4.000000000000000E+001,-6.250000000000000E-001 )
P088 = ( 4.000000000000000E+001, 0.000000000000000E+000 )

我正在使用

逐行读取此文件
fo = open(FileName, 'r')
for line in fo:
#do stuff to line

我想看看如何拆分每一行以给出如下列表:

[87, 40.0,-0.625]
[88, 40.0, 0.0]

我尝试使用 python 的常规 .split() 方法进行拆分,但它不会始终如一地拆分行,从而为每行生成不同的列表长度。

我还使用 re.split([ = ( ]|,) 之类的东西调查了 re.split() 但这也不起作用。我是也不是一个大的正则表达式用户(虽然我知道它们非常强大)这解释了为什么我很难找到合适的。

我想我需要用 ' = ( '',' 来分隔这些行,尽管我真的不确定该怎么做才能得到结果列表是一致的。任何帮助将不胜感激。

谢谢

最佳答案

使用 ast.literal_eval()用于解析元组字符串:

import ast
import re

with open(FileName, 'r') as f:
out = [
[int(re.findall('(?<=P)\d+', k)[0]), *ast.literal_eval(v.strip())]
for k, v in [line.split('=') for line in f]
]

关于python - 基于多个定界符拆分字符串不会产生一致的结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48732515/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com