【问题标题】:Attempting to read data from multiple files to multiple arrays尝试从多个文件读取数据到多个数组
【发布时间】:2015-02-16 18:41:40
【问题描述】:

我希望能够将数据从一个文件夹中的多个文件读取到多个数组,然后对这些数组执行分析,例如绘图等。我目前无法将这些文件中的数据读取到多个数组中。

到目前为止我的解决过程如下;

import numpy as np
import os 

#Create an empty list to read filenames to 

filenames = []

for file in os.listdir('C\\folderwherefileslive'):
     filenames.append(file)

到目前为止,这是可行的,我接下来要做的是使用 numpy.genfromtxt 遍历列表中的文件名。

我正在尝试使用 os.path 连接将单个列表条目放在前面在 listdir 中指定的路径的末尾。这是一些示例代码:

for i in filenames:
    file_name = os.path.join('C:\\entryfromabove','i')
    'data_'+[i] = np.genfromtxt('file_name',skiprows=2,delimiter=',')

这段代码返回“无效语法”。

总结一下我目前尝试使用的解决方案过程: 1. 使用 os.listdir 获取我正在查看的文件夹中的所有文件名。 2. 使用 os.path.join 指示 np.genfromtxt 打开每个文件的数据并将其读取到以该文件命名的 numpy 数组中。

我对 python 没有任何经验 - 欢迎任何关于我想要达到的目标的提示或问题。

【问题讨论】:

    标签: python numpy operating-system


    【解决方案1】:

    对于此类任务,您需要使用字典。

    data = {}
    for file in os.listdir('C\\folderwherefileslive'):
        filenames.append(file)
        path = os.path.join('C:\\folderwherefileslive', i)
        data[file] = np.genfromtxt(path, skiprows=2, delimiter=',')
    
    # now you could for example access
    data['foo.txt']
    

    请注意,您放在单引号或双引号中的所有内容最终都是字符串,因此 'file_name' 将只是一些字符,而使用 file_name 将使用该名称存储在变量中的值。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-01-31
      • 2015-08-11
      • 1970-01-01
      • 1970-01-01
      • 2018-05-30
      • 2016-04-05
      相关资源
      最近更新 更多