Bitbybit Docs
    Preparing search index...

    Class CSVBitByBit

    Membaca dan menulis CSV, format tabel teks biasa dengan satu baris per garis dan pemisah di antara sel. Pengurai memisah pada rowSeparator dan columnSeparator, menghormati sel berkutip ganda dengan kutip ganda di dalamnya, melewati baris kosong dan membaca \n, \t dan \r yang ditulis sebagai dua karakter sebagai karakter aslinya; penulis mengutip sel yang mengandung pemisah, kutip atau pemisah baris.

    Index

    Constructors

    generate

    • Menulis daftar baris, masing-masing daftar sel, sebagai teks CSV; sel yang memuat pemisah, tanda kutip atau pemisah baris dibungkus tanda kutip ganda.

      Contoh: [["name", "age"], ["John", "30"]] -> name,age dan John,30 pada dua baris.

      Parameters

      Returns string

      Teks CSV

      const csv = bitbybit.csv.arrayToCsv({ array: [["x", "y", "z"], [1, 2, 3]], rowSeparator: "\n", columnSeparator: "," });
      
    • Menulis daftar objek sebagai teks CSV dengan kolom-kolom yang Anda sebutkan dalam headers, dalam urutan itu; properti yang tidak dimiliki objek menjadi sel kosong.

      Dengan includeHeaders bernilai true baris pertama memuat nama-nama header. Contoh: [{ name: "John", age: "30" }] dengan header ["name", "age"] -> name,age dan John,30.

      Type Parameters

      • T = Record<string, unknown>

      Parameters

      • inputs: JsonToCsvDto<T>

        Objek-objek, nama-nama kolom, flag header dan pemisah

      Returns string

      Teks CSV

      const csv = bitbybit.csv.jsonToCsv({ json: people, headers: ["name", "age"], includeHeaders: true, rowSeparator: "\n", columnSeparator: "," });
      
    • Menulis daftar objek sebagai teks CSV menggunakan nama-nama properti objek pertama sebagai kolom, dalam urutannya; daftar kosong menghasilkan teks kosong.

      Contoh: [{ name: "John", age: "30" }] -> name,age dan John,30.

      Type Parameters

      • T = Record<string, unknown>

      Parameters

      Returns string

      Teks CSV

      const csv = bitbybit.csv.jsonToCsvAuto({ json: people, includeHeaders: true, rowSeparator: "\n", columnSeparator: "," });
      

    parse

    • Memecah teks CSV menjadi daftar baris, masing-masing daftar string sel; tidak ada yang dikonversi menjadi angka.

      Baris kosong dilewati, sel dipangkas bersama barisnya, dan sel bertanda kutip ganda boleh memuat pemisah dan tanda kutip ganda. Contoh: a,b,c dan 1,2,3 pada dua baris -> [["a", "b", "c"], ["1", "2", "3"]].

      Parameters

      Returns string[][]

      Baris-baris sebagai daftar string sel

      const rows = bitbybit.csv.parseToArray({ csv: "x,y,z\n1,2,3\n4,5,6", rowSeparator: "\n", columnSeparator: "," });
      
    • Mengubah teks CSV menjadi daftar objek, satu per baris data, dikunci oleh nama header dari baris headerRow.

      Baris dimulai dari dataStartRow, kolom yang disebutkan dalam numberColumns menjadi angka dan sel yang hilang menjadi string kosong. Contoh: name,age lalu John,30 -> [{ name: "John", age: "30" }].

      Type Parameters

      • T = Record<string, string | number>

      Parameters

      • inputs: ParseToJsonDto

        Teks CSV, indeks baris header dan data, pemisah dan kolom-kolom angka

      Returns T[]

      Satu objek per baris data

      const people = bitbybit.csv.parseToJson({ csv: "name,age\nJohn,30\nJane,25", headerRow: 0, dataStartRow: 1, rowSeparator: "\n", columnSeparator: ",", numberColumns: ["age"] });
      
    • Mengubah teks CSV menjadi daftar objek yang dikunci oleh headers yang Anda berikan, untuk file tanpa baris header; baris header yang memang ada dalam file dilewati dengan menyetel dataStartRow melewatinya.

      Kolom yang disebutkan dalam numberColumns menjadi angka. Contoh: John,30 dengan header ["name", "age"] -> [{ name: "John", age: "30" }].

      Type Parameters

      • T = Record<string, string | number>

      Parameters

      Returns T[]

      Satu objek per baris data

      const people = bitbybit.csv.parseToJsonWithHeaders({ csv: "John,30\nJane,25", headers: ["name", "age"], dataStartRow: 0, rowSeparator: "\n", columnSeparator: ",", numberColumns: ["age"] });
      

    query

    • Mencantumkan setiap nilai satu kolom, yang ditemukan menurut nama header-nya, dalam urutan baris; baris tanpa sel itu menghasilkan string kosong.

      Dengan asNumber bernilai true nilai-nilai diurai sebagai angka. Contoh: name,age lalu John,30 dan Jane,25, kolom name -> ["John", "Jane"].

      Parameters

      • inputs: QueryColumnDto

        Teks CSV, nama kolom, indeks baris header dan data, pemisah dan flag angka

      Returns (string | number)[]

      Nilai-nilai kolom, dari atas ke bawah

      const ages = bitbybit.csv.queryColumn({ csv: "name,age\nJohn,30\nJane,25", column: "age", headerRow: 0, dataStartRow: 1, rowSeparator: "\n", columnSeparator: ",", asNumber: true });
      
    • Hanya mempertahankan baris-baris yang selnya di column sama dengan value, memberikannya sebagai objek yang dikunci oleh header.

      Perbandingan dilakukan pada teks kecuali kolom dicantumkan dalam numberColumns, yang dalam hal itu kedua sisi dibandingkan sebagai angka. Contoh: kolom age, nilai 30 -> [{ name: "John", age: "30" }].

      Type Parameters

      • T = Record<string, string | number>

      Parameters

      • inputs: QueryRowsByValueDto

        Teks CSV, nama kolom, nilai, indeks baris, pemisah dan kolom-kolom angka

      Returns T[]

      Baris-baris yang cocok sebagai objek

      const thirty = bitbybit.csv.queryRowsByValue({ csv: "name,age\nJohn,30\nJane,25", column: "age", value: "30", headerRow: 0, dataStartRow: 1, rowSeparator: "\n", columnSeparator: "," });
      
    • Membaca sel-sel baris headerRow sebagai nama-nama header; indeks baris melewati akhir memicu error.

      Contoh: name,age lalu John,30 -> ["name", "age"].

      Parameters

      Returns string[]

      Nama-nama header dalam urutan kolom

      const headers = bitbybit.csv.getHeaders({ csv: "name,age\nJohn,30", headerRow: 0, rowSeparator: "\n", columnSeparator: "," });
      
    • Menghitung baris data: semua baris yang tidak kosong dikurangi baris-baris sebelum dataStartRow, atau dikurangi satu baris header jika hasHeaders bernilai true dan dataStartRow dikosongkan.

      Contoh: name,age, John,30, Jane,25 dengan header -> 2.

      Parameters

      • inputs: GetRowCountDto

        Teks CSV, flag header, baris awal data opsional dan pemisah

      Returns number

      Jumlah baris data

      const count = bitbybit.csv.getRowCount({ csv: "name,age\nJohn,30\nJane,25", hasHeaders: true, rowSeparator: "\n", columnSeparator: "," });
      
    • Menghitung sel-sel baris pertama yang tidak kosong, yaitu jumlah kolom; teks kosong menghasilkan 0.

      Contoh: name,age,city lalu John,30,NYC -> 3.

      Parameters

      Returns number

      Jumlah kolom

      const columns = bitbybit.csv.getColumnCount({ csv: "name,age,city\nJohn,30,NYC", rowSeparator: "\n", columnSeparator: "," });