QuickCSV – Gộp và tách nhiều file dữ liệu CSV, JSON, TXT, EXCEL tốc độ nhanh

Chia sẻ bởi:hands
★★★★★
Quảng cáo

Xin gửi các bạn phần mềm mới mình viết – Phần mềm QuickCSV
QuickCSV là phần mềm cho phép tách gộp nhiều tập tin dữ liệu, làm việc với file tầm trên 20 triệu dòng tốc độ vẫn nhanh, tính bằng giây. Hỗ trợ các file CSV, JSON, TEXT. Cho phép Filter – lọc và tìm kiếm nhiều cột, hiều điều kiện. Sắp xếp cột, ẩn hiện, di chuyển vị trí các cột. Xuất dữ liệu ra các định dạng: CSV, TEXT, JSON Data Table, JSON Array 2D. Tự động nhận dạng kiểu dữ liệu…

3750

Màn hình đọc file JSON nhiều cấp của QuickCSV v1.0.0 ngày 30-01-2023

Version 1.0.0: 01-30-2023

+ New: Cho phép mở các tập tin CSV, JSON, TXT
+ New: Tự động nhận dạng kiểu dữ liệu của các giá trị
+ New: Cho phép gộp nhiều các tập tin CSV, JSON, TXT với nhau
+ New: Cho phép chỉnh sửa dữ liệu với các tập tin nói trên
+ New: Cho phép hiển thị dữ liệu JSON dạng Tree, với định dạng màu sắc với từ khóa, kiểu giá trị.
(Menu Options -> "Show JSON Viewer Pane")
+ New: Cho phép tìm kiếm, trích lọc dữ liệu với nhiều điều kiện.
(Menu Options -> "Show Filter & Find Pane")
+ New: Cho phép tìm kiếm kiểu bỏ dấu trong chứ. Ví dụ "tuấn" = "tuan",
(Menu Options -> "Tìm kiếm bỏ dấu Tiếng &Việt"
không phân biệt chữ thường chữ hoa. Ví dụ "HOA" = "hoa"
+ New: Cho phép sắp xếp các cột dữ liệu,
+ New: Cho phép thay đổi vị trí hiển thị các cột.
+ New: Cho phép ẩn/hiện các cột dữ liệu.
+ New: Cho phép thêm cột số thứ tự (No.) đầu tiên, thêm cột ghi tên hoặc đường dẫn đầy đủ của tập tin vào bảng dữ liệu.
+ New: Cho phép xuất dữ liệu đang mở ra các tập tin CSV, JSON, TXT, EXCEL
(Máy tính không cần phải cài đặt Excel. Xuất dữ liệu có thể từ một hay nhiều file, dữ liệu đã qua chỉnh sửa, lọc, sắp xếp).

Hướng dẫn cơ bản

1. Mở tập tin bạn có 2 cách

+ Cách 1: Vào menu File -> Open, chọn một hay nhiều tập tin cùng cấu trúc.
+ Cách 2: Từ màn hình "File Explorer" kéo thả một hay nhiều tập tin có cùng cấu trúc vào màn hình QuickCSV.

2. Xem tập tin JSON

+ Tập tin JSON dạng data tabel hay array 2D bạn mở và xem bình thường như các tập tin CSV, TXT
+ Tập tin JSON dạng multi level (đa cấp) bạn mở bình thường nhưng thêm vào đó bạn vào menu Options -> "Show JSON Viewer Pane".
Cửa sổ "Show JSON Viewer Pane" hiển thị phía bên phải chương trình, bạn hãy nhấp chuột vào những ô có chuỗi mô tả cấu trúc JSON cửa sổ JSON Viewer sẽ hiển thị JSON dạng Tree để bạn dễ quan sát và chỉnh sửa.

(*) Hãy mở tập tin "DataMultiLevel.json" để thử nghiệm thuộc tính này.

3. Sửa nội dung tập tin

Từ màn hình dữ liệu, nhấn F2 nhoặc nhấp chuột chuột.

4. Tìm và lọc dữ liệu

Vào menu Options -> "Show Filter & Find Pane" để mở ra nếu nó bị ẩn.
Mỗi cột dữ liệu sẽ được hiển thị thoe chiều dọc cho phép bạn nhập các giá trị để tìm và lọc.
Cho phép nhập các toán tử để tìm kiếm.
Cách thức như sau:
+ Nhập chuỗi tự do, số, ngày tháng. Với giá trị chuỗi bạn không cần phải đặt trong ký tự nháy kép hay nháy đơn.
+ Nhập biểu thức so sánh:
Với giá trị chuỗi dùng các toán từ:
= (Equals), <> (Not Equals) , *chuỗi (End with), Chuỗi* (Begin with), *chuỗi* (contains, kiểu tìm này là ngầm định.)
Với giá trị là số, ngày tháng
=, <>, >, >=, <, <=
Nếu bạn muốn so sánh giá trị trong khoảng 100 – 1000
>=100, <=1000
Or
100-1000
Bạn cũng có thể đưa vào các khoảng tìm kiếm
100-1000, 3000-5000, 10000
(Có nghĩa là, tìm các giá trị từ 100 đến 1000 hoặc từ 3000 đến 5000 hoặc 10000 )

+ Muốn tìm nhiều giá trị
A, B, C
Nghĩa là tìm các giá trị A hoặc B hoặc C

5. Xuất dữ liệu ra các tập tin với các định dạng khác nhau
Vào menu Commands – Chọn các loại định dạng file để xuất. Phiên bản QuickCSV v1.0.0 hỗ trợ xuất ác loại file: CSV, JSON (gồm loại Data Table và Array2D), TXT, Excel. Máy tính của bạn không yêu cầu phải cài Microsoft Excel.

[URL='https://bluesofts.net/giai-phap-phan-mem/QuickCSV–gop-va-tach-nhieu-file-du-lieu-CSV-JSON-TXT-EXCEL-toc-do-nhanh']Download

Dữ liệu để test nếu chưa có các bạn tải theo link gửi kèm trong file tải về.
Rất mong nhận được sự góp ý của các bạn về tính tiện dụng, tốc độ đọc, gộp, tách cũng như vấn đề khác về QuickCSV.
(Nếu bài viết đưa vào khu vực nào khác phù hợp hơn nhờ admin chuyển giúp nhé.)

www.giaiphapexcel.com/diendan/threads/quickcsv-g%E1%BB%99p-v%C3%A0-t%C3%A1ch-nhi%E1%BB%81u-file-d%E1%BB%AF-li%E1%BB%87u-csv-json-txt-excel-t%E1%BB%91c-%C4%91%E1%BB%99-nhanh.163907/#post-1095326

Khóa học Power PI – Ứng dung trong Nhân sự
Khóa học SprinGO phù hợp

Khóa học Power PI – Ứng dung trong Nhân sự

TỔNG QUAN KHÓA HỌC: POWER BI CHO NGÀNH NHÂN SỰ Khóa học Power BI cho Nhân sự được thiết kế dành riêng cho các...

Xem khóa học
★★★★★ 5 ★ 1 👤 4 ▥ 0
Quảng cáo

Bạn nên đọc

4 Responses

  1. hands says:

    Phiên bản mới QuickCSV v1.0.5 ngày 02-20-2023 (mm-dd-yyyy)

    RwgeGuzY3gk

    (*) [URL='https://bluesofts.net/giai-phap-phan-mem/QuickCSV–gop-va-tach-nhieu-file-du-lieu-CSV-JSON-TXT-EXCEL-toc-do-nhanh'%5DDownload QuickCSV

    v1.0.5: 02-20-2023
    + New: Thêm menu "Recent" trong menu "File". Menu này lưu đường dẫn các file đã mở.Chức năng này hỗ trợ việc mở nhanh lại các file đã mở trước đây, giống như các phần mềm trong bộ Microsoft Office. Phiên bản hiện tại cho phép lưu tối đa 20 file gần nhất.

    + New: Lưu các tùy chọn trong menu "Options".

    + New: Thêm hai menu "QuickCSV" và "QuickCSV with options" vào menu chuột phải trên Windows Explorer.
    (*) Cài đặt: Mở chương trình QuickCSV, vào menu "Options" -> "Settings", chọn tab "Menu" chạy lệnh "Add/Install".
    Từ phiên bản 1.0.5 cho phép bạn mở một hay gộp nhiều file bằng cách nhấp chuột phải trên các file trong Windows Explorer.

    + New: Cho phép mở một hay nhiều file từ dòng lệnh (Command Line).
    Cách làm:
    – Mở cửa sổ chạy lệnh. Mở "Command Prompt" hoặc "Windows PowerShell" (nhấp chuột phải trên biểu tượng Start Windows).
    – Cú pháp:
    QuickCSV.exe fileName
    fileName : + Là tên và đường dẫn của một hay nhiều tập tin (csv, json, txt). Ví dụ :
    QuickCSV.exe "D:Datadatatest.csv".
    + Nếu bạn muốn liệt kê nhiều tạp tin thì để chúng ngăn cách bởi ký tự space (dấu cách). Ví dụ:
    QuickCSV.exe "D:Datadatatest1.csv" "datatest2.csv" "datatest2.csv"
    (Các tập tin "datatest2.csv" "datatest2.csv" không cần đường dẫn neus chúng cùng đường dẫn với tập tin đầu tiên là "D:Datadatatest1.csv")
    -o : Nếu bạn muốn QuickCSV mở file với hộp thoại tùy chọn cách đọc file "Open File with Options". Tham số này có thể bỏ qua.
    -d : Nếu bạn muốn QuickCSV hiểu giá trị đưa vào tham số fileName là một đường dẫn. Khi đó QuickCSV sẽ mở tất cả các file trong đường dẫn đó. Ví dụ:
    QuickCSV.exe "D:Data" -d

    (*) fileName có thể vừa lệt kê các tập tin vừa liệt kê các đường dẫn. Ví dụ:
    QuickCSV.exe "D:Datadatatest1.csv" "datatest2.csv" "datatest2.csv" "D:2022Data" -d "D:2023Data" -d

    + Improve: Tốc độ mở file nhanh hơn.

    v1.0.4: 02-14-2023
    + New: Thêm lệnh "Unsort" trong menu chuột phải trên tên cột. Khi bảng dữ liệu được sắp xếp thì menu "Unsort" xuất hiện, chạy để hủy bỏ chế độ sắp xếp.
    + New: Cho phép nhận dữ liệu từ một cột trong grid/danh sách vào mục nhập filter (cửa sổ phía trái).
    Cách làm, giữ phím CTRL và nhấp đúp chuột vào một ô dữ liệu trên grid. Bạn không cần phải tự gõ tay giá trị để filter.

    + Improve: Cho phép mở tập tin TXT với nội dung văn bản tự do – Không theo cấu trúc bảng dữ liệu (Data Table).
    Khi mở file, xuất hiện bảng "Open File With Options", chọn mục "No data table structure".
    + Improve: Chức năng tự nhận dạng kiểu dữ liệu cho phép nhiều lựa chọn:
    + Nhận diện dựa vào 8 dòng đầu
    + Nhận diện dựa vào 200 dòng đầu
    + Nhận diện dựa toàn bộ các dòng dữ liệu
    + Không nhận diện.
    (Phiên bản cũ ngầm định là 8 dòng đầu hoặc không nhận diện).

    + Fixed: Một vài lỗi nhỏ phát sinh trong phiên bản 1.0.3.

    v1.0.3: 02-11-2023
    + Improve: Tự nhận dạng Encoding (mã hóa) của các tập tin. Phiên bản cũ ngầm định là UTF8 hoặc người dùng phải tự chọn đúng.
    Các encoding tự nhận diện được là: UTF7, UTF8, UTF16/Unicode LE/UTF16 BE/Unicode BE.
    + Improve: Cửa sổ mở file "Open Dialog" bỏ mục chọn Encoding, mục này chỉ để ở bản "Open Options".
    + Improve: Cho phép mở và trộn nhiều tập tin cùng cấu trúc cột nhưng encoding có thể khác nhau.
    + Fixed: Lỗi đọc tập tin unicode.
    + Fixed: Lỗi đọc tập tin vừa dùng ký tự quote (") bao văn bản vừa không dùng.
    + Fixed: lỗi đọc tập tin khi số cột phần nội dung ít hơn sô cột (ở dòng tiêu đề)
    + Fixed: Lỗi đọc một số ký tự lạ.

    v1.0.2: 02-06-2023
    + New: Cho phép xuất dữ liệu nhiều tập tin cùng một lúc. Phiên bản trước phải làm nối tiếp sau khi hoàn thành.
    + New: Hiển thị cửa sổ quản lý các tập tin đang xuất. Cho phép điều khiển: tạm dừng/tiếp tục, hủy bỏ, xóa tập tin đã xuất xong.
    Chú ý các menu: menu ở một tập tin đang xuất, menu khi nhấp chuật phải trên cửa sổ chứa danh sách các tập tin đang xuất.
    + New: Thêm chức năng tự tắt máy tính sau khi xuất các tập tin kết thúc.
    Nhấp chuột phải trên cửa sổ "Export List" tick chọn "Automatic shutdown when finished".
    + New: Thêm menu "Copy Path to clipboard" trong menu popup bên cửa sổ "JSON Viewer".
    + New: Tên tập tin xuất được gợi ý thêm thông tin thời gian "yyyy-mm-dd hh-mm-ss".
    + New: Tạo file Logserror.txt để ghi các lỗi phát sinh.
    + Improve: Bẫy các tình huống đang xuất tập tin chưa kết thúc thì không được đóng hay mở tập tin mới hoặc không được tắt chương trình.
    + Fixed: Xuất hiện thêm cửa sổ "About" mỗi lần click mở trên menu "Help" -> "About…" nếu không tắt màn hình "About" trước đó.

    v1.0.1: 02-02-2023
    + New: Cho phép thêm cột nếu trong file CSV, TXT dòng tiêu đề có số cột ít hơn số cột phần nội dung.
    + New: Tùy chọn mở file, cho phép thêm lựa chọn:
    – Có tự động nhận dạng dữ liệu không? Phên bản cũ luôn nhận dạng.
    – Có tự nhận dạng key JSON chứa mảng dữ liệu không? Phiên bản cũ luôn nhận dạng file theo kiểu array.
    – Cho phép tự khai báo đường dẫn đến key JSON để load dữ liệu tại đó. Tùy biến này giúp bạn nhặt khối dữ liệu từ bấy kỳ vị trí nào trong cấu trúc JSON file của bạn.
    + New: Thêm menu chuột phải có lệnh "Edit" để sửa nội dung tại ô chọn. Bạn có thể thực hiện các hành động tương tự để vào chế độ sửa là: nhấp đúp chuột, nhấn F2, nhấp một lần sau 1 giây.
    + New: Thanh trạng thái hiển thị vị trí Dòng : Cột tại ô chọn.
    + Improve: Tốc độ Filter, Search nhanh và mượt hơn nhiều lần phiên bản 1.0.0.
    + Fixed: Lỗi mất một giá trị đầu tiên nếu cấu trúc file JSON không phải dạng array.

    (*) Link to download data files for testing:
    drive.google.com/file/d/1OclYmR2py-fJZN3DNt_L4XYBV0d8Vhhv/view?usp=sharing

  2. hands says:

    4157
    Phiên bản mới QuickCSV 1.0.6 ngày 03-03-2023
    (*) Phiên bản này tập trung cải tiến và sửa lỗi liên quan đến dữ liệu JSON.
    + Fixed: Lỗi nhận sai giá trị vào cửa sổ Filter nếu bảng/grid đang ở trạng thái filter/lọc.
    + Improve: Hiển thị và nhận "Key Path" với đầy đủ đường dẫn bên cửa sổ "JSON Viewer".
    + Improve: Nhận dữ liệu từ file JSON thông qua việc tìm "Key Path" trong cửa sổ "Open file with options" tốt hơn.

    Em có xem video nhưng chưa rõ tác dụng của phần mềm này ưu điểm ở chỗ nào.
    Nếu đã chạy với dữ liệu lớn hàng chục triệu dòng trở lên, thì sau khi chập dữ liệu rồi thì export ra excel để làm gì, vì cho ra excel hàng chục triệu dòng lại đập xuống sheet thì không lẽ dùng VBA để phân tích. Cho xuống excel thì phải nạp vô Power query hoặc nạp vào Data Model để phân tích chứ!
    Và tốc độ nạp và xuất thì có nhanh hơn Power query hay không.
    Nếu đã là dữ liệu lớn thì không ai xem chi tiết cả, có xem cũng không được, cuối cùng cũng vẫn phải phân tích, mà phân tích thì phải cho vào chỗ phân tích, chứ chập xong rồi xuất ra rồi muốn phân tích lại phải chập lại thì có vẻ thừa thãi.

    Xuất ra Excel chỉ là một trong các tính năng của QuickCSV chứ không phải nó chỉ làm việc đó bạn nhé. Bạn xem bài số 1 có giới thiệu các tính năng của phần mềm này. Hiện tại nó dùng để gộp file và tách file, cho phép lọc để ra từng gói dữ liệu sau đó họ xuất ra các loại định dạng file khác nhau gồm: CSV, TXT, JSON, EXCEL. Ví dụ một đơn vị nào đó chuyên về làm dữ liệu, việc của họ là trích xuất từng gói dữ liệu cho các khách hàng khác nhau, hay cho các bộ phận phân tích khác nhau. Hoặc một công ty họ mua data, khi mua về là 10 GB nhưng họ sẽ xuất ra các gói dữ liệu cho các bộ phận phân tích khác nhau, nhiều các nhu cầu làm việc khác nhau với khối dữ liệu lắm…. Tóm lại là QuickCSV không phải như PowerBI hay PowerQuery, vì tôi đã làm A-Tools để thực hiện việc làm báo cáo trên Excel rồi. Có thể từ phần mềm này sau này tôi tạo ra một cái khác chuyên để thống kê bằng bảng biểu và biểu đồ gần như PowerBI, data model là chính nó luôn chứ không phải đẩy ra Excel rồi lại đi dùng các công cụ Excel để lên báo cáo đâu.
    4158
    Cảm ơn bạn đã quan tâm.

    Những tính năng xuất ra dạng khác thì không nói, nếu xuất ra Excel thì đưa vào Data Model. Ý của bài 35 và 29 là vậy. Lý do là dữ liệu lấy ra khi vượt 1 triệu dòng giới hạn thì đang có kết quả bị tách sheet.

    Hiện tại QuickCSV chỉ xuất dữ liệu vào sheet nên nó bị giới hạn bởi số dòng tối đa trong một sheet Excel. Để tạo Đối tượng Data Model trong Excel bằng lập trình em sẽ nghiên cứu sau, nếu Data Model trong Excel nó là một dạng chỉ tồn tại trong bộ nhớ, nó được tạo ra sau những câu lệnh DAX, SQL, và dữ liệu nguồn là Link tới file hay database server thì mình không can thiệp nữa mà chỉ dừng lại ở việc xuất ra file. Vì cố làm là thừa hoặc không thể tạo được bằng lập trình.

    Em thấy đoạn cuối anh nói phần mềm này sau này sẽ xem như một Data Model thì em thấy ổn. Nếu anh bổ sung thêm những module đáp ứng nhu cầu thực tế của người sử dụng cho từng ngành nghề( Ngân hàng, bảo hiểm, bán lẻ,…..) thì người sử dụng họ sử dụng được luôn thay vì phải tự phân tích, vì hiện tại phần mềm nào thì cũng đều chưa có những mục như vậy mà người dùng muốn cái mình cần cũng đều phải tự phân tích. Thay vì mình trao cho khách hàng công cụ thì mình trao cho người ta cái kết quả mà người ta cần luôn thì chắc chắn khách hàng sẽ sử dụng thôi.

    Để đáp ứng cụ thể một ngành thì có thể được, ví dụ các công cụ chuyên tạo sổ sách kế toán, chuyên phân tích mã chứng khoán,… Các tool dạng này thì cũng có nhiều phần mềm họ làm rồi, để làm cụ thể cho một ngành thì phải tìm hiểu chuyên sâu ngành đó. Nếu có cơ hội phát triển chuyên sâu theo một ngành cũng là tốt. Nếu không đi thoe chuyên môn sâu của ngành thì mình tạo ra cái công cụ làm một phạm vi công việc để người dùng làm tiếp phần chuyên môn của họ.

    Anh có thể làm thêm chức năng Export ra File Xml được không anh?

    Nếu chọn một mô hình XML đơn giản thì hoàn toàn làm nhanh được. Để sau một thời gian nếu có nhiều người đề xuất mô hình xml nào đó thình anh xem xét làm thêm tính năng này.

    Tôi mới lôi cái CSV của Tôi ra thử lấy dữ liệu CVS lên Form Delphi nó chạy nhanh lắm … còn xuất nó ra Excel thì hoàn toàn khác

    hãy thử xuất ra Excel 1048570 dòng x 100 cột xem sao là biết thôi … nếu xuất quá 1048576 dòng lỗi code là đương nhiên

    vậy nên chừa lại vài dòng để nó không bị lỗi xong test code là OK

    Đã là dữ liệu lớn thì cứ xử lý thẳng, đọc từ file gốc CVS rồi trích lọc, tổng hợp các kiểu, sau đó xuất kết quả ra Excel chứ khi không đọc CVS xong lại đưa vô Excel làm gì cho mất công vậy chứ. Đôi khi trên internet không có các code viết cho các trường hợp này là do lập trình viên chuyên nghiệp họ thấy vô ích khi làm vậy nên cũng chẳng thèm đầu tư viết code làm gì.

    @Nguyễn Duy Tuân : lúc trước tôi có dùng cái ứng dụng Klogg để đọc và nó cũng có nhiều tính năng xử lý file CVS trước khi xuất ra các định dạng khác. Nó đọc cực nhanh, file 1tr6 dòng nó đọc chừng 0.2s. Tôi có test cái ứng dụng của anh trên cùng 1 file thì thấy tốc độ nhanh ngang ngửa, chắc công nghệ cũng giống giống :). Tôi có test đọc dữ liệu thuần bằng Terminal và Power Shell thấy tốc độ nó vẫn còn thua cách xa.
    Ứng dụng này dùng đọc các file Log (cả git dữ liệu) để trích lọc, tiền xử lý là thuận tiện nhất.
    App Klogg thấy có quảng cáo đọc được 10G+ dữ liệu và hơn 2 tỷ dòng, chưa có file để test thử.4159

  3. hands says:

    Vâng, hướng dùng kỹ thuật gần giống nhau đó anh. Phần mềm KLOGG đúng lại đọc dữ liệu file CSV ra cũng rất nhanh, nó đọc dữ liệu dạng thô, tức chưa xử lý Dequote, split columns, nó chỉ làm là tách line, encoding đầy đủ hơn QuịckCSV (hỗ trợ UTF32 (LE+BE) ). QuickCSV định hướng diễn đạt dữ liệu với giao diện người dùng sao cho gần gũi nhất, dễ tìm và lọc, sửa nên bộ nhớ cũng bị ảnh hưởng theo. Trong khi làm QuickCSV em cũng sưu tầm vài thằng quảng cáo về tốc độ để làm cơ sở đánh giá app mình tạo, trong đó có cả Thegun (www.movsd.com/thegun.htm) chạy cũng rất nhanh, nhưng nó nghèo nàn tính năng hơn KLOGG. Nếu anh muốn test file dung lượng lớn, anh dùng QuickCSV gộp nhiều lần một file lại rối export ra csv khác.

    Tôi mới lôi cái CSV của Tôi ra thử lấy dữ liệu CVS lên Form Delphi nó chạy nhanh lắm … còn xuất nó ra Excel thì hoàn toàn khác

    hãy thử xuất ra Excel 1048570 dòng x 100 cột xem sao là biết thôi … nếu xuất quá 1048576 dòng lỗi code là đương nhiên

    vậy nên chừa lại vài dòng để nó không bị lỗi xong test code là OK

    Chức năng xuất ra Excel tôi làm rồi, hiện nay QuickCSV dùng cách xuất thẳng ra file Excel với định dạng xlsx, nó cũng ước lượng tốc độ trên màn hình export đó. Còn mở Excel ra rồi đẩy dữ liệu vào sheet giống cách làm VBA hay lập trình phổ biến là cách dùng COM (các hàm khởi tạo Excel như CreateObject (VB/VBA); Delphi/C++ là CreateOleObject(), máy phải cài Excel) thì cũng dễ dàng. Tuy nhiên, việc dùng COM để đẩy dữ liệu vào sheet Excel chỉ có thể cải tiến ở giới hạn nào đó, không thể tạo ra sự đột biến về tốc độ vì mọi thứ nó là do chính thư viện của Excel làm hết rồi chứ vai trò của ngôn ngữ lập trình, thuật toán là rất ít. Ví dụ ta chỉ có hai lệnh để gán data vào sheet là Range.Value(2) = array, hoặc CopyFromRecordset().

    Cảm ơn anh,
    Thực tế một số đối tác của em họ dùng SAP và yêu cầu gửi File Xml.
    Mà Xml e thấy cũng nhiều bất cập, như ko quá được 64k dòng. Nếu lớn hơn phải tách file.

    Lúc nào gửi anh cấu trúc mà em cần anh xem thế nào.

    Một bản ghi kiểu kiểu thế này nhé anh

    <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
    
    <ns1:MT_NH_PAYWM xmlns:ns1="urn:Win:NH:NH:To:SAPECC:PayCompare">
    
    <DATA>
    
    <FILENAME>PRD_PAY_NH_HD_20062021.XML</FILENAME>
    
    <NAME>HD</NAME>
    
    <BLDAT>19062021</BLDAT>
    
    <BUDAT>20062021</BUDAT>
    
    <XBLNR>payment HD</XBLNR>
    
    <BKTXT>DT MER HD 11600052 19062021</BKTXT>
    
    <WRBTR>571800</WRBTR>
    
    <VALUT>19062021</VALUT>
    
    <WERKS>1588</WERKS>
    
    <PRCTR>1588</PRCTR>
    
    <XREF1>0424xx4025</XREF1>
    
    <XREF2>netvn</XREF2>
    
    <XREF3>000000</XREF3>
    
    <SGTXT>DT MER HD 11600052 19062021</SGTXT>
    
    <GUID>1160005219062021114121000000</GUID>
    
    <ID>11600052</ID>
    
    <FEE_AMT>1144</FEE_AMT>
    
    <REFNO>117004026582</REFNO>
    
    </DATA>
    
    </ns1:MT_NH_PAYVM>

    Cấu trúc này cũng đơn giản nhưng là đặc thù của SAP. Nếu dữ liệu em lớn và cần đến tốc độ nhanh thì có thể mình tạo thêm tính năng trong QuickCSV. Nếu dữ liệu nhỏ em viết code VBA cho nhanh.

    Em vẫn đang làm VBA a ah.
    Có một File *.xsd để map với File Excel, rồi Export file Xml.
    Lớn thì cũng không phải lớn, có ngày sẽ > 64k bản ghi, nên cần tách file thôi anh.

  4. hands says:

    Em thử mở file .dat thì chương trình báo không support nhưng file của em nó chỉ đơn giản là text kiểu cot1/cot2…Anh @Nguyễn Duy Tuân, chương trình mình có thể hỗ trợ thêm file đuôi .dat không ạ?

    Vậy em tạm đổi đuổi từ .dat -> .txt hoặc .csv nhé.

    Vâng, em đổi thì đọc được rồi ạ nhưng hơi bất tiện, vì file của em để trong thư mục chung và lớn, copy về máy cá nhân thì lâu quá. File của em 3GB copy về máy cá nhân phải mất 30 phút, nếu đọc được trực tiếp file .dat thì tốt quá. Cảm ơn anh.

    Phiên bản QuickCSV hiện tại là cố định các đuôi csv, txt, json. Mình sẽ tạo phiên bản mới cho phép đọc các file khác như một định dạng TXT.
    Khi bạn mở file 3GB thấy tốc độ ra sao?

    Em vừa mới copy xong để kiểm tra, em thấy mở file nhanh nhưng em thấy nó chỉ đọc 1 phần của file, ngay cả lọc cũng thế, chương trình sẽ lọc nhưng dữ liệu đã được đọc trước, nếu em cứ kéo chuột xuống hết file thì phải đợi 1 lúc, khi nó đọc file xong em kéo lên thì nó bị Not Responding luôn ạ. Nhưng em thấy chương trình thế là ok rồi ạ, chứ em không mở được bằng notepad++. Bình thường em check dữ liệu thì toàn phải dùng Linux, bây giờ có PM của anh thì dễ dùng hơn ạ.
    Cảm ơn anh.
    File của em 2.73GB và hơn 20 triệu dòng.

Leave a Reply

Your email address will not be published. Required fields are marked *

Quảng cáo

Cũ vẫn chất

Xem thêm