[英]How to get text co-ordinate x & y value present in GUI using robotframework or using python
[英]Python: How to read a text file containing co-ordinates in row-column format into x-y co-ordinate arrays?
我有一个文本文件,其中包含以下列格式存储的数字:
1.2378 4.5645
6.789 9.01234
123.43434 -121.0212
... 等等。
我希望将这些值读入两个数组,一个用于x坐标,另一个用于y坐标。 喜欢,所以
x[0] = 1.2378
y[0] = 4.5645
x[1] = 6.789
y[1] = 9.01234
... 等等。
我该如何阅读文本文件和存储值?
一种方法:
x,y = [], []
for l in f:
row = l.split()
x.append(row[0])
y.append(row[1])
其中f是文件对象(例如来自open())
您也可以使用csv库
import csv
with open('filename','r') as f:
reader = csv.reader(f,delimeter=' ')
for row in reader:
x.append(row[0])
y.append(row[1])
你也可以使用zip来使它更简洁(虽然可能不太可读:
x,y = zip(*[l.split() for l in f])
其中f是文件对象,或
import csv
x,y = zip(*csv.reader(f,delimeter=' '))
再次,其中f是文件对象。 并不是说最后两个方法会将整个文件加载到内存中(尽管如果你使用的是python 3,你可以使用生成器表达式并避免这种情况)。
每行读取一次,然后使用split
:
with open('f.txt') as f:
for l in f:
x, y = l.split()
#do something meaningful with x and y
或者,如果您不介意将整个列表存储到计算机的内存中:
with open('f.txt') as f:
coordinates = [(c for c in l.split()) for l in f]
如果要将x
s和y
s存储在单独的变量中:
xes = []
ys = []
with open('f.txt') as f:
for line in f:
x, y = l.split()
xes.append(x)
ys.append(y)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.