Bitbybit Docs
    Preparing search index...

    Class CSVBitByBit

    CSV পড়া ও লেখা, প্রতি লাইনে একটি সারি ও সেলের মধ্যে একটি বিভাজকসহ সাধারণ-টেক্সট টেবিল ফরম্যাট। পার্সারগুলি rowSeparatorcolumnSeparator এ ভাগ করে, ভিতরে দ্বিগুণ উদ্ধৃতিসহ ডাবল-কোটেড সেল মানে, খালি লাইন বাদ দেয় এবং দুটি অক্ষর হিসেবে লেখা \n, \t\r কে আসল জিনিস হিসেবে পড়ে; রাইটারগুলি একটি বিভাজক, একটি উদ্ধৃতি বা একটি লাইন ব্রেক ধারণকারী সেলকে উদ্ধৃত করে।

    Index

    Constructors

    generate

    • সারির একটি তালিকাকে, প্রতিটি ঘরের একটি তালিকা, CSV টেক্সট হিসেবে লেখে; বিভাজক, উদ্ধৃতি চিহ্ন বা লাইন ব্রেক ধারণকারী ঘর দ্বৈত উদ্ধৃতি চিহ্নে মোড়া হয়।

      উদাহরণ: [["name", "age"], ["John", "30"]] -> দুই লাইনে name,ageJohn,30

      Parameters

      • inputs: ArrayToCsvDto

        সারিগুলি ও দুটি বিভাজক

      Returns string

      CSV টেক্সট

      const csv = bitbybit.csv.arrayToCsv({ array: [["x", "y", "z"], [1, 2, 3]], rowSeparator: "\n", columnSeparator: "," });
      
    • অবজেক্টের একটি তালিকাকে headers এ আপনার নাম দেওয়া কলামসহ CSV টেক্সট হিসেবে লেখে, সেই ক্রমে; একটি অবজেক্টে যে প্রপার্টি নেই তা একটি খালি ঘর হয়।

      includeHeaders true হলে প্রথম লাইনে হেডার নামগুলি থাকে। উদাহরণ: [{ name: "John", age: "30" }] হেডার ["name", "age"] সহ -> name,ageJohn,30

      Type Parameters

      • T = Record<string, unknown>

      Parameters

      • inputs: JsonToCsvDto<T>

        অবজেক্টগুলি, কলামের নামগুলি, হেডার ফ্ল্যাগ ও বিভাজকগুলি

      Returns string

      CSV টেক্সট

      const csv = bitbybit.csv.jsonToCsv({ json: people, headers: ["name", "age"], includeHeaders: true, rowSeparator: "\n", columnSeparator: "," });
      
    • অবজেক্টের একটি তালিকাকে প্রথম অবজেক্টের প্রপার্টি নামগুলিকে কলাম হিসেবে ব্যবহার করে CSV টেক্সট হিসেবে লেখে, তাদের ক্রমে; একটি খালি তালিকা খালি টেক্সট দেয়।

      উদাহরণ: [{ name: "John", age: "30" }] -> name,ageJohn,30

      Type Parameters

      • T = Record<string, unknown>

      Parameters

      • inputs: JsonToCsvAutoDto<T>

        অবজেক্টগুলি, হেডার ফ্ল্যাগ ও বিভাজকগুলি

      Returns string

      CSV টেক্সট

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

    parse

    • CSV টেক্সটকে সারির একটি তালিকায় ভাগ করে, প্রতিটি ঘরের স্ট্রিংয়ের একটি তালিকা; কিছুই সংখ্যায় রূপান্তর হয় না।

      খালি লাইন বাদ দেওয়া হয়, ঘরগুলি তাদের লাইনসহ ছাঁটা হয়, এবং একটি দ্বৈত-উদ্ধৃত ঘরে বিভাজক ও দ্বিগুণ উদ্ধৃতি চিহ্ন থাকতে পারে। উদাহরণ: দুই লাইনে a,b,c1,2,3 -> [["a", "b", "c"], ["1", "2", "3"]]

      Parameters

      • inputs: ParseToArrayDto

        CSV টেক্সট ও দুটি বিভাজক

      Returns string[][]

      সেল স্ট্রিংয়ের তালিকা হিসেবে সারিগুলি

      const rows = bitbybit.csv.parseToArray({ csv: "x,y,z\n1,2,3\n4,5,6", rowSeparator: "\n", columnSeparator: "," });
      
    • CSV টেক্সটকে অবজেক্টের একটি তালিকায় পরিণত করে, প্রতিটি ডেটা সারির জন্য একটি, headerRow সারির হেডার নাম দিয়ে কী করা।

      সারিগুলি dataStartRow এ শুরু হয়, numberColumns এ নাম দেওয়া কলামগুলি সংখ্যা হয় এবং একটি অনুপস্থিত ঘর একটি খালি স্ট্রিং হয়। উদাহরণ: name,age তারপর John,30 -> [{ name: "John", age: "30" }]

      Type Parameters

      • T = Record<string, string | number>

      Parameters

      • inputs: ParseToJsonDto

        CSV টেক্সট, হেডার ও ডেটা সারির ইনডেক্স, বিভাজকগুলি এবং সংখ্যার কলামগুলি

      Returns T[]

      প্রতি ডেটা সারিতে একটি অবজেক্ট

      const people = bitbybit.csv.parseToJson({ csv: "name,age\nJohn,30\nJane,25", headerRow: 0, dataStartRow: 1, rowSeparator: "\n", columnSeparator: ",", numberColumns: ["age"] });
      
    • CSV টেক্সটকে আপনার দেওয়া headers দিয়ে কী করা অবজেক্টের একটি তালিকায় পরিণত করে, হেডার লাইন ছাড়া ফাইলের জন্য; ফাইলে থাকা একটি হেডার লাইন dataStartRow তার পরে সেট করে বাদ দেওয়া হয়।

      numberColumns এ নাম দেওয়া কলামগুলি সংখ্যা হয়। উদাহরণ: John,30 হেডার ["name", "age"] সহ -> [{ name: "John", age: "30" }]

      Type Parameters

      • T = Record<string, string | number>

      Parameters

      • inputs: ParseToJsonWithHeadersDto

        CSV টেক্সট, হেডারের নামগুলি, ডেটা শুরুর সারি, বিভাজকগুলি এবং সংখ্যার কলামগুলি

      Returns T[]

      প্রতি ডেটা সারিতে একটি অবজেক্ট

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

    query

    • একটি কলামের প্রতিটি মান তালিকাভুক্ত করে, তার হেডার নাম দিয়ে পাওয়া, সারির ক্রমে; সেই ঘর ছাড়া সারি একটি খালি স্ট্রিং দেয়।

      asNumber true হলে মানগুলি সংখ্যা হিসেবে পার্স করা হয়। উদাহরণ: name,age তারপর John,30Jane,25, কলাম name -> ["John", "Jane"]

      Parameters

      • inputs: QueryColumnDto

        CSV টেক্সট, কলামের নাম, হেডার ও ডেটা সারির ইনডেক্স, বিভাজকগুলি এবং সংখ্যা ফ্ল্যাগ

      Returns (string | number)[]

      কলামের মানগুলি, উপর থেকে নিচে

      const ages = bitbybit.csv.queryColumn({ csv: "name,age\nJohn,30\nJane,25", column: "age", headerRow: 0, dataStartRow: 1, rowSeparator: "\n", columnSeparator: ",", asNumber: true });
      
    • শুধু সেই সারিগুলি রাখে যাদের column এর ঘর value এর সমান, সেগুলিকে হেডার দিয়ে কী করা অবজেক্ট হিসেবে দিয়ে।

      তুলনাটি টেক্সটে হয় যদি না কলামটি numberColumns এ তালিকাভুক্ত থাকে, সেক্ষেত্রে দুই পাশই সংখ্যা হিসেবে তুলনা করা হয়। উদাহরণ: কলাম age, মান 30 -> [{ name: "John", age: "30" }]

      Type Parameters

      • T = Record<string, string | number>

      Parameters

      • inputs: QueryRowsByValueDto

        CSV টেক্সট, কলামের নাম, মান, সারির ইনডেক্সগুলি, বিভাজকগুলি এবং সংখ্যার কলামগুলি

      Returns T[]

      অবজেক্ট হিসেবে মিলে যাওয়া সারিগুলি

      const thirty = bitbybit.csv.queryRowsByValue({ csv: "name,age\nJohn,30\nJane,25", column: "age", value: "30", headerRow: 0, dataStartRow: 1, rowSeparator: "\n", columnSeparator: "," });
      
    • headerRow সারির ঘরগুলিকে হেডার নাম হিসেবে পড়ে; শেষ ছাড়িয়ে যাওয়া সারি সূচক একটি ত্রুটি থ্রো করে।

      উদাহরণ: name,age তারপর John,30 -> ["name", "age"]

      Parameters

      • inputs: GetHeadersDto

        CSV টেক্সট, হেডার সারির ইনডেক্স ও বিভাজকগুলি

      Returns string[]

      কলামের ক্রমে হেডারের নামগুলি

      const headers = bitbybit.csv.getHeaders({ csv: "name,age\nJohn,30", headerRow: 0, rowSeparator: "\n", columnSeparator: "," });
      
    • ডেটা সারিগুলি গোনে: সব অ-খালি লাইন বিয়োগ dataStartRow এর আগেরগুলি, অথবা hasHeaders true ও dataStartRow বাদ দেওয়া থাকলে বিয়োগ একটি হেডার লাইন।

      উদাহরণ: name,age, John,30, Jane,25 হেডারসহ -> 2।

      Parameters

      • inputs: GetRowCountDto

        CSV টেক্সট, হেডার ফ্ল্যাগ, ঐচ্ছিক ডেটা শুরুর সারি ও বিভাজকগুলি

      Returns number

      ডেটা সারির সংখ্যা

      const count = bitbybit.csv.getRowCount({ csv: "name,age\nJohn,30\nJane,25", hasHeaders: true, rowSeparator: "\n", columnSeparator: "," });
      
    • প্রথম অ-খালি সারির ঘরগুলি গোনে, যা কলামের সংখ্যা; খালি টেক্সটের জন্য ফলাফল 0.

      উদাহরণ: name,age,city তারপর John,30,NYC -> 3।

      Parameters

      • inputs: ParseToArrayDto

        CSV টেক্সট ও দুটি বিভাজক

      Returns number

      কলামের সংখ্যা

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