根据记录值拆分大文本文件

根据记录值拆分大文本文件

该网站上有一些类似的问题,但我的问题有点不同。

我有一个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)

相关内容