Nhảy tới nội dung

Csv.Document

Trả về nội dung của tài liệu CSV ở dạng bảng.

Syntax

Csv.Document(
source as any,
optional columns as any,
optional delimiter as any,
optional extraValues as number,
optional encoding as TextEncoding.Type
) as table

Remarks

Trả về nội dung của tài liệu CSV dưới dạng bảng.

  • columns có thể rỗng, là số lượng cột, danh sách tên cột, loại bảng hoặc bản ghi tùy chọn.
  • delimiter có thể là ký tự đơn, danh sách ký tự hoặc giá trị "", cho biết các hàng nên được phân chia bằng các ký tự dấu cách liên tiếp. Mặc định: ",".
  • Tham khảo ExtraValues.Type để biết các giá trị được hỗ trợ của extraValues.
  • encoding chỉ định loại mã hóa văn bản.
Nếu một bản ghi được chỉ định cho columns (đồng thời delimiter, extraValuesencoding là rỗng), các trường bản ghi sau có thể được cung cấp:
  • Dấu phân cách: Dấu phân cách cột. Mặc định: ",".
  • Cột: Có thể là rỗng, là số lượng cột, danh sách tên cột hoặc loại cột. Nếu số lượng cột ít hơn số lượng tìm được trong đầu vào, các cột bổ sung sẽ bị bỏ qua. Nếu số lượng cột nhiều hơn số lượng tìm được trong đầu vào, các cột bổ sung sẽ là rỗng. Khi không được chỉ định, số lượng cột sẽ được xác định bằng dữ liệu tìm được trong đầu vào.
  • Mã hóa: Mã hóa văn bản tệp. Mặc định: 65001 (UTF-8).
  • CsvStyle: Chỉ định cách xử lý trích dẫn.
    • CsvStyle.QuoteAfterDelimiter (mặc định): Trích dẫn trong một trường chỉ quan trọng nếu theo ngay sau dấu phân tách.
    • CsvStyle.QuoteAlways: Trích dẫn trong một trường luôn quan trọng, bất kể vị trí xuất hiện.
  • QuoteStyle: Chỉ định cách xử lý ngắt dòng có trích dẫn.
    • QuoteStyle.Csv (mặc định): Ngắt dòng có trích dẫn được coi là một phần của dữ liệu, không phải sự kết thúc của hàng hiện tại.
    • QuoteStyle.None: Tất cả ngắt dòng được coi là sự kết thúc của hàng hiện tại, ngay cả khi ngắt bên trong giá trị có trích dẫn.

Examples

Example #1

Xử lý văn bản CSV có tiêu đề cột

let
csv = Text.Combine({"OrderID,Item", "1,Fishing rod", "2,1 lb. worms"}, "#(cr)#(lf)")
in
Table.PromoteHeaders(Csv.Document(csv))

Result:

Table.FromRecords({
[OrderID = "1", Item = "Fishing rod"],
[OrderID = "2", Item = "1 lb. worms"]
})

Category

Accessing data