Python 按列组合文本文件
我有许多文本文件(1409),其中包含259200 x 1个数据点(每个文本文件都是一年和一个变量)。我想将这些内容按列组合成一个文本文件,即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这样的脚本语言 然后我
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/*'此错误是因为文件名不正确,请尝试根据文件夹结构进行更改