Python 像这样阅读;列表=[]]”;从两个txt文件中列出

Python 像这样阅读;列表=[]]”;从两个txt文件中列出,python,list,Python,List,我有9个txt文件。每一段文字都是这样的: [(0.0, 32.633221, 39.91769), (8.32, 32.633717, 39.917892), (25.35, 32.633945, 39.917538), (25.93, 32.634262, 39.916946), (7.24, 32.634888, 39.91674), (0.0, 32.635014, 39.916737), (15.31, 32.635242, 39.916569), (22

我有9个txt文件。每一段文字都是这样的:

 [(0.0, 32.633221, 39.91769),
  (8.32, 32.633717, 39.917892),
  (25.35, 32.633945, 39.917538),
  (25.93, 32.634262, 39.916946),
  (7.24, 32.634888, 39.91674),
  (0.0, 32.635014, 39.916737),
  (15.31, 32.635242, 39.916569),
  (22.12, 32.635727, 39.916176)....
我想创建一个新的文本文件,它只包含每个元素的前几个元素。我的意思是:

list_firsttxtfile = [(0.0), (8.32), (25.35), (25.93),... ]

另一种方法

list_firsttxtfile = []

with open("mytextfile.txt", "r") as f:
    data = f.read()
    parts = data.split("\)")
    for part in parts:
        sections = part.split(",")
        list_firsttxtfile.append(sections[0])

如果文件的每一行至少包含一个浮点,则可以使用正则表达式提取它:

import re

first_float = re.compile(r'[-+]?\d*\.?\d+')

with open("firstfile.txt") as txtfile:
    # if line.strip() skips blank lines if any
    list_first_txt_file = [float(first_float.search(line).group()) for line in txtfile if line.strip()]
请注意,如果您的文件包含正则表达式不匹配的行,它将失败,并出现
AttributeError:“NoneType”对象没有属性“group”
。您可以将列表理解的
if
部分更改为
if first\u float.search(line)
以避免这种情况,但它会在同一行上运行两次正则表达式,如果文件很大,这可能不太好

如果您双重确认没有空行且每行都有匹配项,则可以完全删除
If