我有一个文本文件,其中的数字以以下格式存储:
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,则可以使用生成器表达式来避免这种情况)。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句