Python 按列组合文本文件

Python 按列组合文本文件,python,excel,text-files,multiple-columns,Python,Excel,Text Files,Multiple Columns,我有许多文本文件(1409),其中包含259200 x 1个数据点(每个文本文件都是一年和一个变量)。我想将这些内容按列组合成一个文本文件,即 botTemp_1950 | botTemp_1951 | botTemp_1952 | ... etc .... .... .... . . . 我已经这样做了,但数据被安排在1列中,大小为4GB。除了在windows中按列操作之外,还有其他方法可以做到这一点吗?还是我需要像Python这样的脚本语言 然后我

我有许多文本文件(1409),其中包含259200 x 1个数据点(每个文本文件都是一年和一个变量)。我想将这些内容按列组合成一个文本文件,即

botTemp_1950 | botTemp_1951 | botTemp_1952 | ... etc
....           ....           .... 
.
.
.
我已经这样做了,但数据被安排在1列中,大小为4GB。除了在windows中按列操作之外,还有其他方法可以做到这一点吗?还是我需要像Python这样的脚本语言

然后我想为每列屏蔽大约200行的数据,并取每列的平均值,这样我就有了每个变量的时间序列

如果我能同时做这两件事,那就很理想了,但主要是在列方面之后,如果我能打开文本文件,那么我就可以在Excel中相当容易地应用掩码


提前感谢。

在Python中,您可以尝试以下操作:

os.chdir(current_dir_with_txt_files)
txtfiles = [open(i) for i in os.listdir('*.txt')]

out = open(out_name, 'w')

from itertools import izip
for l1,l2,l3 in izip(*txtfiles):
    out.write(','.join(l1.strip(), l2.strip(), l3.strip() + '\n')
out.close()

这可能需要一段时间,但不会消耗您所有的RAM内存。

您可以在Excel中完成整个过程-一个简单的VBA for循环,您可以在其中读取每个文本文件并将其输出到下一列。。。默认情况下,文本文件中的每一新行都会变成一个新行,因此它应该相当简单……在我看来,您最终会得到一个1409列x1行文件,而不是一个1列x1409行文件。因此,关于“希望为每列仅屏蔽200行左右的数据”的部分没有多大意义。感谢@Saullo,我似乎无法在第一行之后实现这一点,即:txtfiles=[open(I)for I in os.listdir('.txt')]Traceback(最近一次调用):File“”,第1行,in txtfiles=[open(I)for I in os.listdir('.txt')]WindowsError:[Error 123]文件名、目录名或卷标语法不正确:'.txt/*'此错误是因为文件名不正确,请尝试根据文件夹结构进行更改