我有几个一列文本文件,我想把它们放在一起(例如,每个文件是一列)。我能找到的唯一文档是关于将文件附加到其他文件的底部。这就是我被困的地方。
import glob
MA_files = glob.glob("MA*continuous*2")
with open("MA_continuous_results.csv", "wb") as outfile:
for eachFile in MA_files:
with open(eachFile, "rb") as infile:
eachFile=eachFile.split("maskave_")
# eachFile[-1] = 15_2 etc
outfile.write('%s\n' % eachFile[-1])
for line in infile:
#split by [ because text after that, files give unnecessary info
line=line.split('[')
#only write info before [
outfile.writelines('%s\n' % line[0])
输出如下:
^{pr2}$但我希望它看起来像这样(用制表符或逗号分隔的列):
15_2 21_2
-0.0383935 -0.097086
-0.0559652 -0.210296
-0.0168811 0.0639971
-0.0996374 0.00949209
-0.151921 -0.227474
-0.131327 0.0180759
-0.0509602 -0.135376
-0.109181 -0.212909
-0.0238667 -0.00786295
-0.00646939 -0.00922367
-0.106631 -0.0749584
-0.0380114 -0.0584701
-0.0219288 -0.019548
-0.0135917 -0.0984993
-0.0627647 -0.00848889
-0.0605226 -0.164244
-0.0534139 -0.0121499
-0.0134063 0.0100612
我怎么能做到呢?
示例文件名:
马逖连续混合趵maskave_19_2 马逖连续混合趵maskave_18_2
示例内容:
-0.182682 [344 voxels]
-0.0631301 [344 voxels]
-0.0101798 [344 voxels]
-0.121342 [344 voxels]
-0.547331 [344 voxels]
-0.0582418 [344 voxels]
-0.284454 [344 voxels]
-0.262656 [344 voxels]
-0.123836 [344 voxels]
-0.0371469 [344 voxels]
-0.265201 [344 voxels]
-0.147427 [344 voxels]
-0.34516 [344 voxels]
-0.0431832 [344 voxels]
-0.0171557 [344 voxels]
-0.14525 [344 voxels]
-0.0864529 [344 voxels]
0.0881003 [344 voxels]
这里有一个很好的方法,可以增量执行,并确保在结束时关闭所有涉及的文件:
我将重写您的代码如下:
(代码是python2)
您可能需要阅读以下内容:
itertools.izip
*
in the arguments of function相关问题 更多 >
编程相关推荐