python - 使用 python 读取 .txt 数据

标签 python text-extraction data-extraction

我有一个这样的 .txt 文件:

# 经纬度
x1 = 11.21  
x2 = 11.51

y1 = 27.84  
y2 = 10.08

time: 201510010000  
变量名: val1  
[1.1,1.2,1.3]  
变量名: va2    
[1.0,1.01,1.02]  

time: 201510010100  
变量名: val1  
[2.1,2.2,2.3]  
变量名: va2  
[2.01,2.02,2.03]

time: 2015020000  
变量名: val1  
[3.0,3.1,3.2]  
变量名: val2  
[3.01,3.02,3.03]

time: 2015020100  
变量名: val1  
[4.0,4.1,4.2]  
变量名: val2    
[401,4.02,4.03]

而且,我希望像这样使用 python 阅读它:

enter image description here

with open('text.txt','r',encoding='utf-8') as f:
    lines = f.readlines()
    for line in lines:
        print(line,)

这就是我所做的,但我不知道下一步。

我怎样才能到达它?

最佳答案

我正在学习 python,这就是我想出的:) 有看过解法,发现错误的,还请不吝指出。

time = ""
val1 = []
val2 = []
final_list = []
process_val1 = False
process_val2 = False
with open('read.txt','r',encoding='utf-8') as f:
    lines = f.readlines()
    for line in lines:
        try:
            line = line.strip()
            if val1 and val2 and time != '':
                for v1, v2 in zip(val1, val2):
                    final_list.append([time, v1, v2])
                val1 = []
                val2 = []
                time = ''
                continue
            if process_val1 == True:
                val1 = line.split('[')[1].split(']')[0].split(',')
                process_val1 = False
                continue
            if process_val2 == True:
                val2 = line.split('[')[1].split(']')[0].split(',')
                process_val2 = False
                continue
            if 'time:' in line:
                time = line.split(": ")[1]
                continue
            elif 'val1' in line:
                process_val1 = True
                continue
            elif 'val2' in line:
                process_val2 = True
                continue
            elif 'va2' in line:
                process_val2 = True
                continue
            else:
                continue
        except:
            #handle exception here
            pass
    if final_list:
        with open('write.txt', 'w') as w:
            for list in final_list:
                w.write(", ".join(list) + '\n')

关于python - 使用 python 读取 .txt 数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51154851/

相关文章:

python - pytest 报告摘要显示错误信息

python-3.x - tesseract中以下代码的字典输出的键值是什么意思?

C# 正则表达式用于查找文本中的特定模式

python - 使用 Python 高效查找部分字符串匹配 --> 从 5 GB 文件中的值列表开始的值

c++ - 如何从 C++ 中的字符串中提取多组动态数字?

r - 如何从R中重复测量的数据集中提取 "final visit"处的值?

python - For循环跳过重复索引

python - 对 Python 字典中的值进行排序和重新编号

python - NLTK - 获取和简化标签列表

ios - 从 objective-c 中的字符串的右侧提取