我想做以下事情:
- 将多个 ascii 文件 (*.txt) 读入内存。我需要跳过每个文件的前 4 行。这些文件中的整数值是非结构化的,一行一行地连续写入。每行的值的数量可以变化,并不重要。
- 读取内存中的所有数据后,我需要将其写入一个文件,每行一个值,即一列。在写值之前,我需要写 3 行标题。
我需要将此作为脚本,我可以从终端(Bash)调用它。我感谢您的帮助!
你的问题很模糊,但我想出了这个:
这些是我的假设:
f1
、和f2
,则 中的值首先出现在 中,中的值出现在 中,依此类推f3
outfilepath
f1
outfilepath
f2
outfilepath
这是一个在这些假设下执行您想要的功能的函数:
def readwrite(infilepaths, outfilepath):
with open(outfilepath, 'w') as outfile:
outfile.write(threeLinesOfHeader + '\n')
for infilepath in infilepaths:
with open(infilepath) as infile:
skipLines = 4
for _ in range(skipLines):
infile.readline()
values = itertools.chain.from_iterable(line.strip().split() for line in infile)
outfile.write('\n'.join(values) + '\n')
print 'done'
希望这可以帮助