我有一个这样的 .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 阅读它:
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/