Κοινοποίηση μέσω


Csv.Document

Σύνταξη

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

Πληροφορίες

Επιστρέφει τα περιεχόμενα του εγγράφου CSV ως πίνακα.

  • columns Το μπορεί να είναι null, ο αριθμός των στηλών, μια λίστα ονομάτων στηλών, ένας τύπος πίνακα ή μια εγγραφή επιλογών.
  • delimiter Το μπορεί να είναι ένας μόνο χαρακτήρας, μια λίστα χαρακτήρων ή η τιμή "", η οποία υποδεικνύει ότι οι γραμμές πρέπει να διαιρεθούν με διαδοχικούς χαρακτήρες κενού χώρου. Προεπιλογή: ",".
  • Ανατρέξτε στο ExtraValues.Type για τις υποστηριζόμενες τιμές του extraValues.
  • encoding Το καθορίζει τον τύπο κωδικοποίησης κειμένου.

Εάν έχει καθοριστεί μια εγγραφή για columns (και delimiterτα , extraValuesκαι encoding είναι null), ενδέχεται να δοθούν τα παρακάτω πεδία εγγραφής:

  • Delimiter: Ένας οριοθέτης στήλης ενός χαρακτήρα. Προεπιλογή: ",".
  • Columns: Μπορεί να είναι null, ο αριθμός των στηλών, μια λίστα ονομάτων στηλών ή ένας τύπος πίνακα. Εάν ο αριθμός των στηλών είναι μικρότερος από τον αριθμό που βρέθηκε στα δεδομένα εισόδου, οι πρόσθετες στήλες θα αγνοηθούν. Εάν ο αριθμός των στηλών είναι μεγαλύτερος από τον αριθμό που βρέθηκε στα δεδομένα εισόδου, οι πρόσθετες στήλες θα είναι null. Όταν δεν καθορίζεται, ο αριθμός των στηλών θα προσδιορίζεται από τα στοιχεία εισόδου.
  • Encoding: Η κωδικοποίηση κειμένου του αρχείου. Προεπιλογή: 65001 (UTF-8).
  • CsvStyle: Καθορίζει τον τρόπο χειρισμού των εισαγωγικών.
    • CsvStyle.QuoteAfterDelimiter (προεπιλογή): Τα εισαγωγικά σε ένα πεδίο είναι σημαντικά μόνο όταν ακολουθούν τον οριοθέτη.
    • CsvStyle.QuoteAlways: Τα εισαγωγικά σε ένα πεδίο είναι πάντα σημαντικά, ανεξάρτητα από το σημείο που εμφανίζονται.
  • QuoteStyle: Καθορίζει τον τρόπο χειρισμού των αλλαγών γραμμής που βρίσκονται μέσα σε εισαγωγικά.
    • QuoteStyle.Csv (προεπιλογή): Οι αλλαγές γραμμών σε εισαγωγικά αντιμετωπίζονται ως μέρος των δεδομένων, όχι ως το τέλος της τρέχουσας γραμμής.
    • QuoteStyle.None: Όλες οι αλλαγές γραμμών αντιμετωπίζονται ως το τέλος της τρέχουσας γραμμής, ακόμα και όταν εμφανίζονται μέσα σε μια τιμή σε εισαγωγικά.
  • IncludeByteOrderMark: Μια λογική τιμή που υποδεικνύει εάν θα συμπεριληφθεί ένα Σημάδι παραγγελίας Byte (BOM) στην αρχή της εξόδου CSV. Όταν οριστεί σε true, η BOM συντάσσεται (για παράδειγμα, UTF-8 BOM: 0xEF 0xBB 0xBF); όταν οριστεί σε false, δεν περιλαμβάνεται BOM. Αυτή η επιλογή ισχύει μόνο σε σενάρια εξόδου. Η προεπιλογή είναι false.
  • ExtraValues: Ανατρέξτε στο ExtraValues.Type για τις υποστηριζόμενες τιμές του ExtraValues.

Παράδειγμα 1

Επεξεργαστείτε κείμενο CSV με κεφαλίδες στηλών.

Χρήση

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

Έξοδος

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

Παράδειγμα 2

Επεξεργαστείτε κείμενο CSV με πολλούς χαρακτήρες οριοθέτη. Σε αυτό το παράδειγμα, η τρίτη παράμετρος καθορίζει το μοτίβο #|# οριοθέτη που θα χρησιμοποιηθεί αντί για την προεπιλογή.

Χρήση

let
    csv = Text.Combine({"OrderID#|#Color", "1#|#Red", "2#|#Blue"}, "#(cr)#(lf)")
in
    Table.PromoteHeaders(Csv.Document(csv, null, "#|#"))

Έξοδος

Table.FromRecords({
    [OrderID = "1", Color = "Red"],
    [OrderID = "2", Color = "Blue"]
})