【问题标题】:import and assign multiple files loadtxt导入并分配多个文件 loadtxt
【发布时间】:2017-06-21 19:49:38
【问题描述】:

抱歉,我知道这应该很容易。我想加载 6 个文本文件并将它们分配给 6 个变量,例如文件 1 到 xl,文件 2 到 xr 等。我想我不明白如何正确处理列表。我曾尝试使用 for i in range(6)、itertools 和 enumerate,但似乎没有一个能满足我的要求。

files = ['f1.txt','f2.txt','f3.txt','f4.txt','f5.txt','f6.txt']

for file in files:
    xl,xr,yl,yr,zl,zr = np.loadtxt(file)

我认为我可以使用 append 函数,但这会创建一个而不是我认为的 6 个变量

【问题讨论】:

  • for file in files 循环每次迭代都会返回files-list 的一个元素,因此您将使用np.loadtxt(file) 的(未打包的)输出覆盖所有这些变量。你真的需要6个不同的变量吗?为什么不使用list,就像您已经在使用文件名一样?

标签: python text import


【解决方案1】:

您可以打开所有文件并使用列表理解存储结果:

files = ['f1.txt','f2.txt','f3.txt','f4.txt','f5.txt','f6.txt']
loaded = [np.loadtxt(file) for file in files]

您必须使用loaded[0] 等访问它们...或直接分配:

xl, xr, yl, yr, zl, zr = [np.loadtxt(file) for file in files]

如果你坚持原来的变量名。

【讨论】:

  • 现在它只是一个列表理解,还是我错过了什么?
  • @ChristianKönig 不,你没有错过任何东西 - 你发现了一个邪恶的错字......谢谢!
  • 谢谢两位。现在可以理解为什么原来的不起作用了。现在看起来很容易我已经看到了答案...... :-)
猜你喜欢
  • 2014-04-21
  • 2019-08-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-12-31
相关资源
最近更新 更多