我是 python 的新手,在处理文本文件时遇到问题。显示了正在使用的文本文件结构。我要做的是首先将两条折线拆分成它们自己的变量,然后将每个变量拆分成单独的坐标。最终目标是将其结构化为:
polyline 1:
[###, ###] [###, ###]
polyline 2:
[###, ###] [###, ###]
文本文件结构:
Polyline;
1: ###,###; ###,###
2: ###,###; ###,###; ###,###
我试过的代码只适用于一行。虽然我已经能够拆分单条线,但我无法进入下一步,即进一步拆分线。
f=open('txt.txt', 'r')
pl = []
for line in f.read().split('\n'):
if (line.find('1: ') !=-1):
ln = line.split('1: ')
print ln
f.close()
将线拆分到结束状态的最佳方法是什么?
最佳答案
首先,您可以使用 with ... as
语句打开一个文件,该文件将在 block 末尾关闭文件,其次,您不必读取文件并拆分为\n
只需使用 for 循环来遍历您的文件对象。
还可以使用正则表达式来检查数字的开头,在这种情况下,您可以使用 re.match
函数,然后您可以使用 ;
和使用列表理解将另一部分拆分为 ,
:
import re
with open('txt.txt') as f:
for line in f:
if re.match(r'\d:.*',line):
ln = [var.split(',') for var in line.split(';')]
print ln
关于python - 将行解析为单独的段 - python,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32844040/