猿问

从 .txt 文件中读取变量后将其保存在循环中

我的问题

下面您可以看到我评论的解决方案。

我读了一个包含所有文本文件的文件夹。之后,我想使用循环来读取所有文件及其内容作为变量。我用它来做这个。由于不幸的是我有一个基于德语的文本文件,我必须重写它才能继续使用它。然后我将创建的列表转换为数组。在循环结束时,我只得到最后一个文本文件作为变量。但我想为每个文本文件都有一个变量或数组。

data[0]是文本文件 0 中的值。

data[1]是文本文件 1 中的值。

data[2]是文本文件 2 中的值。

等等。

我知道循环末尾缺少一些东西,但我只是不知道该怎么做。

import numpy as np

import glob


read_files = glob.glob('*.txt')


for i in range(0, len(read_files):

    temp = []

    data = []


    txt_file = open(read_files[i], 'r+').readlines()[1:]


    for line in txt_file:

        line = line.replace(',', '.')

        line = line.replace('\t', ' ')

        line = line.replace('****', '0')

        temp.append(line)


    temp = np.array(temp)

    data = np.loadtxt(temp)

    print(data)

我的方法是:

  1. 使用两个循环写入矩阵并重写变量数据中的所有值。

  2. 定义data为运行变量。

  3. 写入一个新文件并再次读入。可行,但很麻烦并且消耗太多内存。


慕的地8271018
浏览 73回答 1
1回答

胡说叔叔

看起来您还需要一份清单。这将是列表的列表。类似于以下内容:import numpy as npimport globread_files = glob.glob('*.txt')all_data = []for i in range(0, len(read_files):    temp = []        txt_file = open(read_files[i], 'r+').readlines()[1:]    for line in txt_file:        line = line.replace(',', '.')        line = line.replace('\t', ' ')        line = line.replace('****', '0')        temp.append(line)    all_data.append(temp)    print(all_data)
随时随地看视频慕课网APP

相关分类

Python
我要回答