【问题标题】:How to read consecutive .plt files and store them如何读取连续的 .plt 文件并存储它们
【发布时间】:2015-06-10 10:51:41
【问题描述】:

我有 1000 个文件想用 python 读取。以前,我有74个,我只是一一阅读,但现在有太多的事情要做。

data_1 = np.genfromtxt('test4-1.000001.plt', delimiter=' ', skip_header=3)
data_2 = np.genfromtxt('test4-1.000002.plt', delimiter=' ', skip_header=3)         
data_3 = np.genfromtxt('test4-1.000003.plt', delimiter=' ', skip_header=3)         
data_4 = np.genfromtxt('test4-1.000004.plt', delimiter=' ', skip_header=3)         
data_5 = np.genfromtxt('test4-1.000005.plt', delimiter=' ', skip_header=3)         
data_6 = np.genfromtxt('test4-1.000006.plt', delimiter=' ', skip_header=3)         
data_7 = np.genfromtxt('test4-1.000007.plt', delimiter=' ', skip_header=3) 
.
.
.
.
.
data_73 = np.genfromtxt('test4-1.000073.plt', delimiter=' ', skip_header=3)
data_74 = np.genfromtxt('test4-1.000074.plt', delimiter=' ', skip_header=3)

我尝试使用循环,但它不起作用。我试图让我成为一个字符串,但仍然没有工作

for i in range(1:1000):
     data_'i' = np.genfromtxt('test4-1.00000'i'.plt', delimiter=' ',skip_header=3)

非常感谢您的帮助

【问题讨论】:

    标签: python file


    【解决方案1】:

    你的想法有点正确,但你犯了一些语法错误,看起来你需要了解列表。

    您应该做的是列出所有数据。让我们称之为data

    我们像这样定义一个空:data = []

    要添加到列表中,我们使用 append 命令,如下所示:

    data.append(np.genfromtxt('test4-1.000001.plt', delimiter=' ',skip_header=3))
    

    最后一件事是你试图错误地连接你的字符串。在 python 中,你用+ 连接字符串,所以这一行:'test4-1.00000'i'.plt' 应该是'test4-1.'+str(i).zfill(6)+'.plt'。注意我必须先把它变成一个字符串,我还使用zfill 函数用零填充它。

    把所有这些放在一起,我们就有了代码

    data = []
    for i in range(1:1000):
        data.append(np.genfromtxt('test4-1.'+str(i).zfill(6)+'.plt', delimiter=' ',skip_header=3))
    

    这将为您提供一个数据列表,您可以使用语法data[23] 调用这些数据以获取第 24 个数据集(列表索引从 0 开始)。

    希望这有帮助!

    【讨论】:

    • 不知道文件名不整齐怎么办……能自动读入一个文件夹中的所有.plt文件吗?
    • 当然。您可以在文件夹中搜索文件并按扩展名过滤。 stackoverflow.com/questions/3964681/…
    【解决方案2】:
    data = []
    for i in range(1, 1000):
         data.append(np.genfromtxt('test4-1.%06d.plt' % i, delimiter=' ',skip_header=3))
    

    编辑

    Loocid 的回答解释了每个部分的工作原理。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2019-03-15
      • 2012-09-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-07-27
      • 1970-01-01
      相关资源
      最近更新 更多