python - 如何将所有 .txt 文件加载到具有不同名称的文件夹中 - Python
问题描述
我必须通过从文件夹中导入所有 .txt 文件来创建一堆 numpy 数组。这就是我现在正在做的方式:
wil_davide_noIA_IST_nz300 = np.genfromtxt("%s/davide/wil_davide_noIA_IST_nz300.txt" %path)
wig_davide_multiBinBias_IST_nz300 = np.genfromtxt("%s/davide/wig_davide_multiBinBias_IST_nz300.txt" %path)
wig_davide_multiBinBias_PySSC_nz300 = np.genfromtxt("%s/davide/wig_davide_multiBinBias_PySSC_nz300.txt" %path)
wig_davide_noBias_PySSC_nz300 = np.genfromtxt("%s/davide/wig_davide_noBias_PySSC_nz300.txt" %path)
wig_davide_IST_nz300 = np.genfromtxt("%s/davide/wig_davide_IST_nz300.txt" %path)
wig_davide_noBias_IST_nz300 = np.genfromtxt("%s/davide/wig_davide_noBias_IST_nz300.txt" %path)
wig_davide_PySSC_nz300 = np.genfromtxt("%s/davide/wig_davide_PySSC_nz300.txt" %path)
...
从文件夹
我可以以某种方式自动化这个过程吗?请注意,我希望数组与导入的文件具有相同的名称(当然,没有 .txt)。
非常感谢
解决方案
注意:如果文件或其名称存在任何安全问题,您不应该这样做。
否则,您可以使用该exec
函数来获取所需的变量。有关列表方法,请参阅其他解决方案。
import os
path_to_folder = "."
command = ""
for f in os.listdir(path_to_folder):
if f.endswith(".txt"):
command += f.replace(".txt", "") + f" = np.genfromtxt('{path_to_folder}/{f}')\n"
exec(command)
根据您的文件夹/文件结构,您需要稍微更改代码,但这应该像要求的那样工作。
推荐阅读
- java - 当我运行springboot时,控制台显示此错误,我该怎么做才能修复它?
- c# - 打印出素数从小到大的成功发展
- python - 有没有办法用同名的变量替换字符串?
- reactjs - “react-dnd-html5-backend”没有导出成员“HTML5Backend”
- pine-script - 交易观点 - 当价格上涨到某个价格之上时如何触发止盈?
- python - 无法修复:RuntimeError:梯度计算所需的变量之一已被就地操作修改
- node.js - 为什么 Promise.race 不能在 kafkajs eachMessage 回调中解析
- javafx - 标签不会更改其在用户元素中的大小。(扩展控制)
- javascript - SVG 转换
标记到包含 base64 PNG URI 的标记(阅读更多) - python - 如果只读,有没有办法让 ttk.combobox 不将背景颜色更改为灰色?