从文件中获取数据并将其插入列表

时间:2019-01-07 11:44:42

标签: python

我试图从文件中获取数据(列表)并将此列表分配给我的python脚本列表。

我想知道如何做到而不必手动分配所有变量

Variables = [MPDev,WDev,DDev,LDev,PDev,MPAll,WAll,DAll,LAll,PAll,MPBlit,WBlit,DBlit,LBlit,PBlit,MPCour,WCour,DCour,LCour,PCour]
dataupdate = open("griddata.txt","r")
datalist = dataupdate.read()
#Inside the file is written:
#['0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0',']

var = 0
for e in Variables:
    e = datalist[var]
    var += 1

无论如何我都可以使用它,但是我想知道一种提高技能的更快方法。谢谢

3 个答案:

答案 0 :(得分:2)

习惯于将数据用作熊猫数据框。它易于阅读,易于编写。 http://pandas.pydata.org/pandas-docs/stable/generated/pandas.read_csv.html

import pandas as pd
data = pd.read_csv("griddata.txt", names = ['MPDev',
 'WDev',
 'DDev',
 'LDev',
 'PDev',
 'MPAll',
 'WAll',
 'DAll',
 'LAll',
 'PAll',
 'MPBlit',
 'WBlit',
 'DBlit',
 'LBlit',
 'PBlit',
 'MPCour',
 'WCour',
 'DCour',
 'LCour',
 'PCour']
)

答案 1 :(得分:0)

import ast
Variables = [MPDev,WDev,DDev,LDev,PDev,MPAll,WAll,DAll,LAll,PAll,MPBlit,WBlit,DBlit,LBlit,PBlit,MPCour,WCour,DCour,LCour,PCour]  
dataupdate = open("tmp.txt","r")
datalist = ast.literal_eval(dataupdate.read())

#Inside the file is written:
#['0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0',']

for i in Variables:
    i=datalist[Variables.index(i)]

答案 2 :(得分:0)

另一种替代方法是使用字典。 mydict={} var = 0 for e in Variables: mydict[e]=datalist[var] var += 1