gpt4 book ai didi

python - 使用正则表达式从文本文件中提取数据

转载 作者:行者123 更新时间:2023-12-01 01:04:34 25 4
gpt4 key购买 nike

尝试使用正则表达式从 txt 文件中提取三个数据列表

文件结构=元数据、值(重复)

#
#text
#text
#
9.2318434E-5 -1.3870514E-9 1.0E-4 7.0E-5 9.2318434E-5 9.225606E-5 9.225606E-5 2.5E-4 2.5E-4
9.230842E-5 -1.3756367E-9 1.0E-4 7.0E-5 9.230842E-5 9.225539E-5 9.225539E-5 0.00225 0.00225
9.230592E-5 -1.3935526E-9 1.0E-4 7.0E-5 9.230592E-5 9.2255046E-5 9.2255046E-5 0.00275 0.00275

#
#text
#text
#
9.2318434E-5 -1.3870514E-9 1.0E-4 7.0E-5 9.2318434E-5 9.225606E-5 9.225606E-5 2.5E-4 2.5E-4
9.231593E-5 -1.3816212E-9 1.0E-4 7.0E-5 9.231593E-5 9.225253E-5 9.225253E-5 7.5E-4 7.5E-4
9.230592E-5 -1.3935526E-9 1.0E-4 7.0E-5 9.230592E-5 9.2255046E-5 9.2255046E-5 0.00275 0.00275

#
#text
#text
#
9.2318434E-5 -1.3870514E-9 1.0E-4 7.0E-5 9.2318434E-5 9.225606E-5 9.225606E-5 2.5E-4 2.5E-4
9.231593E-5 -1.3816212E-9 1.0E-4 7.0E-5 9.231593E-5 9.225253E-5 9.225253E-5 7.5E-4 7.5E-4
9.231343E-5 -1.3962527E-9 1.0E-4 7.0E-5 9.231343E-5 9.225581E-5 9.225581E-5 0.00125 0.00125

我一直在尝试以下方法

with open(file) as newfile:
data = re.findall(r'^([#][\n][0-9])[\s\S]*([\n][\n])$', newfile.read())

每个数据 block 都以 #\n[0-9] 开头,以\n\n 结尾,然后我需要获取开头和结尾之间的每个字符,因此 [\s\S]*。似乎没有任何帮助会很好。

最佳答案

附注,您不需要将所有内容都包含在 [] 中.

查看正在使用的正则表达式here .

^(?<=#\n)\d[^#]*$
  • ^在行的开头断言位置
  • (?<=#\n)正向回顾确保前面的内容匹配 #后跟换行符 \n
  • \d匹配数字
  • [^#]*匹配除 # 之外的任何字符任意次数(贪婪,因此它将尝试匹配尽可能多的字符 - 直到到达另一个 # )
  • $在行尾断言位置
<小时/>

或者,非常简单,您可以使用 ^\d.*如图所示here .

  • ^在行的开头断言位置
  • \d匹配数字
  • .*匹配任意字符(行终止符除外)任意次数

关于python - 使用正则表达式从文本文件中提取数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55499468/

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