为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

慕的地8271018 2023-08-03 16:36:05
我的问题下面您可以看到我评论的解决方案。我读了一个包含所有文本文件的文件夹。之后,我想使用循环来读取所有文件及其内容作为变量。我用它来做这个。由于不幸的是我有一个基于德语的文本文件,我必须重写它才能继续使用它。然后我将创建的列表转换为数组。在循环结束时,我只得到最后一个文本文件作为变量。但我想为每个文本文件都有一个变量或数组。data[0]是文本文件 0 中的值。data[1]是文本文件 1 中的值。data[2]是文本文件 2 中的值。等等。我知道循环末尾缺少一些东西,但我只是不知道该怎么做。import numpy as npimport globread_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)我的方法是:使用两个循环写入矩阵并重写变量数据中的所有值。定义data为运行变量。写入一个新文件并再次读入。可行,但很麻烦并且消耗太多内存。
查看完整描述

1 回答

?
胡说叔叔

TA贡献1804条经验 获得超8个赞

看起来您还需要一份清单。这将是列表的列表。类似于以下内容:


import numpy as np

import glob


read_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)


查看完整回答
反对 回复 2023-08-03
  • 1 回答
  • 0 关注
  • 72 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信