QuickCSV – Gộp và tách nhiều file dữ liệu CSV, JSON, TXT, EXCEL tốc độ nhanh
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ự
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
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
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.
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.
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.
Để đá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ọ.
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.
Đã 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
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.
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().
Lúc nào gửi anh cấu trúc mà em cần anh xem thế nào.
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.
Vậy em tạm đổi đuổi từ .dat -> .txt hoặc .csv nhé.
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?