Tách tệp văn bản lớn theo giá trị bản ghi


1

Có một số câu hỏi giống nhau trong trang web này, nhưng của tôi là một chút khác nhau.

Tôi có một tệp văn bản 30 GB và tôi cần chia nó thành các tệp nhỏ hơn theo các giá trị bản ghi khác nhau.

Ví dụ;

   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

vào ---->

A.TXT

   NAME       DATE      AMOUNT  
    AA      02.03.2014  768,30
    AA      03.03.2014  234,15

BB.TXT

   NAME      DATE        AMOUNT 
    BB       12.01.2014  238,00
    BB       15.09.2014  567,00
    BB       06.12.2014  323,00

CC.TXT

   NAME     DATE         AMOUNT
   CC      08.02.2015    456,00
   CC      09.02.2015    213,00

Ở đây tôi đã tìm thấy một manh mối , nhưng tôi hầu như không biết kịch bản Powershell, vì vậy tôi không thể tìm ra cách phân chia tệp theo giá trị NAME.

Trong câu trả lời mà tôi đã trích dẫn ở trên, nó tìm kiếm một dấu ngoặc [, cái tôi tìm kiếm là một giá trị khác với giá trị ở trên trong cột NAME.

VÀ;

Các tệp nhỏ hơn ở định dạng .txt sẽ thực hiện công việc NHƯNG những điều sau đây được đánh giá cao:

- Nếu số hàng là <1.000.000, sau đó trích xuất các bản ghi thành tệp .xls (hoặc .xlsx).

Bất kỳ giải pháp trong bất kỳ ngôn ngữ khác cũng được hoan nghênh.

Cảm ơn.


Giải pháp python có hoạt động không?
user236012

Câu trả lời:


2

Con trăn

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)
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.