繁体   English   中英

我需要将带有数据的文本文件读入python并为数据分配变量

[英]I need to read in a text file with data into python and assign the data the variables

文件中的数据如下所示; 两列需要表示X和Y值。 将是X值中的第一个值,第二个值将是Y值。

   42.10      8.55
   40.25      7.60
   38.50      8.95
   39.55      6.45
   40.90      7.75

我需要将它读入python并为每行中的每组值分配变量:例如,(42.10,8.55)其中42.10是x值,8.55是y值。 有几行需要这种组织的价值观。 我可以打开文件并阅读它但是我无法获得我想要的变量赋值。

到目前为止我有

with open ("file.txt", "r") as myfile:
    data=myfile.read().split()

好的,现在我现在就在这里:

with open('file.txt') as f:
    data = [line.split() for line in f.readlines()]
    out = [(float(x), float(y)) for x, y in data]
for i in out:
   print i

我想在for循环中创建数据的散点图,您会推荐哪个模块?

data = []
for line in open(myfile).readlines():
       temp_x,temp_y = line.split()
       x = float(temp_x)
       y = float(temp_y)
       data.append((x,y))

您可以获得更高级的体验,但这就是您开始使用的全部内容。

您只获得x和y的最新值的原因是因为x和y在循环的每次迭代中更改它们的值。 要查看所有值

for each_pair in data:
    (x, y) = each_pair
    print 'X = ',x, 'Y = ', y

这里使用列表推导构建dataout

with open('text.txt') as f:
    data = [line.split() for line in f.readlines()]
    out = [(float(k), float(v)) for k, v in data]

输出:

for i in out:
    print i

(42.1, 8.55)
(40.25, 7.6)
(38.5, 8.95)
(39.55, 6.45)
(40.9, 7.75)

如果需要,可以将这些分配给变量,或者可以用out[0]等引用它们。

你如何命名它们取决于你有多少,但无论如何这是一个例子:

>>> first_tuple = out[0] 
>>> print first_tuple
(42.1, 8.55)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM