从Python读取文本文件并使用相应的变量

时间:2017-03-28 16:17:30

标签: python text

我刚开始使用Python,并希望阅读以下文本文件并使用变量值:
文本文件'r1':(变量名及其值)

    mu |  cs |  co
------------------
    5  |  100|  300 
------------------

我有以下代码:

以open(“r1.txt”)作为file1:     data = file1.read()

可以打印,但f不返回任何值。

我如何在文本文件中使用该变量供以后使用(mu,cs,co)?

Ex:我想生成一个泊松分布,

我可以写:

    G = poisson(data.mu)

似乎没有,但我怎么能在数据集中调用相应的变量?

谢谢!

2 个答案:

答案 0 :(得分:0)

使用read函数(在print命令中)后,文件已被读取,因此二读不提供任何内容。您应该将读数分配给某个变量,例如

with open("r1.txt") as file:
   lines = file.read()

以便您以后可以返回lines

但是如果要将特定变量分配给从文件读取的特定值,则需要对其进行解析。在这里,它在很大程度上取决于您的数据所处的特定格式。

答案 1 :(得分:0)

你应首先阅读两行,然后解析它们,最后将它用作dict

with open("r1.txt") as fp:
    lines = [line for line in fp]
    keys = [s.strip() for s in lines[0].split('|')]  # key line
    vals = [s.strip() for s in lines[2].split('|')]  # value line
    f = dict(zip(keys, vals))
    print(f)

然后,您可以使用f['mu']获取mu值。