如何在for cy中导入和写入文本

2024-10-02 12:37:39 发布

您现在位置:Python中文网/ 问答频道 /正文

我有以下代码:

dat11=np.genfromtxt('errors11.txt') 
dat12=np.genfromtxt('errors12.txt') 
dat13=np.genfromtxt('errors13.txt') 
dat22=np.genfromtxt('errors22.txt') 
dat23=np.genfromtxt('errors23.txt') 
dat33=np.genfromtxt('errors33.txt')

zip(dat11,dat12,dat13,dat22,dat23,dat33)
import csv
with open('Allerrors.txt', "w+") as output:
    writer = csv.writer(output, delimiter='\t')
    writer.writerows(zip(dat11,dat12,dat13,dat22,dat23,dat33))
quit

每个人错误xy.txt'文件由一列数字组成。我用这个程序创建了所有错误.txt“文件,所有这些列都是一列挨着一列的。我需要用for循环(或任何其他类型的循环)做同样的事情,因为实际上我会有更多的文件,我不能手工完成。但是我不知道如何用循环来写这些不同的数据。我(在代码的第一部分)尝试了:

for x in range(1,Nbin+1):
    for y in range(1,Nbin+1):
        'dat'+str(x)+str(y)=np.genfromtxt('errors'+str(x)+str(y)+'.txt')

但我当然会得到以下错误:

SyntaxError: can't assign to operator

我明白为什么会出现这个错误,但我找不到其他方法来写它。另外,我不知道如何编写代码的第二部分。 我使用的是python2.7 有人能帮我吗?你知道吗


Tags: 文件代码txtfor错误npwriterstr
1条回答
网友
1楼 · 发布于 2024-10-02 12:37:39

您可以将每个读入文件附加到一个列表中,然后在for循环运行后压缩并打印列表,而不是为每个数据文件创建单独的变量。你知道吗

errorfiles = []
for x in range(1,Nbin+1):
    for y in range(1,Nbin+1):
        dat=np.genfromtxt('errors'+str(x)+str(y)+'.txt’)
        errorfiles.append(dat)

相关问题 更多 >

    热门问题