该网站上有一些类似的问题,但我的问题有点不同。
我有一个30 GB 文本文件,我需要根据不同的记录值将其拆分成更小的文件。
例如;
NAME DATE AMOUNT
AA 02.03.2014 768,30
AA 03.03.2014 234,15
BB 12.01.2014 238,00
BB 15.09.2014 567,00
BB 06.12.2014 323,00
CC 08.02.2015 456,00
CC 09.02.2015 213,00
进入 ---->
AA.TXT
NAME DATE AMOUNT
AA 02.03.2014 768,30
AA 03.03.2014 234,15
BB 文本
NAME DATE AMOUNT
BB 12.01.2014 238,00
BB 15.09.2014 567,00
BB 06.12.2014 323,00
抄送.TXT
NAME DATE AMOUNT
CC 08.02.2015 456,00
CC 09.02.2015 213,00
我在这里找到了一个线索,但我几乎不懂 Powershell 脚本,所以我无法找到根据 NAME 值拆分文件的方法。
在我上面引用的答案中,它寻找一个括号[
,我寻找的是与上面 NAME 列中的值不同的值。
和;
.txt 格式的较小文件可以完成这项工作,但请注意以下几点:
--如果行数 < 1.000.000 ,则将记录提取到 .xls (或 .xlsx)文件中。
我们也欢迎使用任何其他语言的解决方案。
谢谢。
答案1
Python:
cpath="C:/Path/to/File"
infile=cpath+"/data.txt"
with open(infile) as f:
for line in f:
content = line.split()
outfile = cpath + "/" + content[0] + ".txt"
with open(outfile,'a') as f2:
f2.write(line)