کتابخانه‌ی استاندارد · کدگذاری و داده

سی اس وی encoding/csv

خواندن و نوشتن پرونده‌های CSV، با نقل‌قول درست و تبدیل به مقدار پویا.

واردسازی کدگذاری.سی اس وی
در این صفحه
  1. گونه‌ها
  2. روال‌ها

CSV ساده‌ترین قالب جدول است: هر خط یک ردیف و خانه‌ها با ویرگول لاتین از هم جدا. خانه‌ای که ویرگول، نقل‌قول یا خط تازه دارد، داخل نقل‌قول می‌آید و نقل‌قول درونش دوتایی می‌شود. این بسته این قاعده‌ها را در خواندن و نوشتن رعایت می‌کند.

همه‌ی خانه‌ها رشته‌اند. اگر ردیف اول سرستون باشد، به مقدار هر ردیف را به یک شیء با همان کلیدها تبدیل می‌کند.

گونه‌ها

ردیف سی اس وی CSVRow

ساختار ردیف سی اس وی
یک ردیف.
نامانگلیسیگونهتوضیح
fieldsfieldsوکتور<رشته>خانه‌های ردیف.
encoding-csv-Table.salam
واردسازی کدگذاری.سی اس وی
واردسازی کدگذاری.مقدار

روال ریشه:
    متن := "name,city\nعلی,تهران\n\"سارا، مهندس\",\"شیراز\"\n"
    ناپایا ج := سی اس وی.خواندن همه(متن)
    سرچاپ ج.rows.طول()
    هر ر در ج.rows:
        سرچاپ ر.fields.طول()، ر.fields[۰]
    پایان
    سرچاپ سی اس وی.نوشتن همه(ج)
    سی اس وی.آزادسازی جدول(ج)
    سرچاپ سی اس وی.خواندن خط(`a,"b,c",d`)
    ناپایا خانه‌ها := وکتور {} برگردان وکتور<رشته>
    خانه‌ها.بیفزا("ساده")
    خانه‌ها.بیفزا(`با "نقل"`)
    سرچاپ سی اس وی.نوشتن خط(خانه‌ها)
    م := سی اس وی.به مقدار("name,age\nعلی,30\n")
    سرچاپ مقدار.طول آرایه(م)، مقدار.به رشته(مقدار.مقدار کلید(مقدار.عضو آرایه(م، ۰)، "name"))
    سرچاپ سی اس وی.از مقدار(م)
    گ := سی اس وی.گزینه‌های سی اس وی { header = نادرست }
    ب := سی اس وی.به مقدار سفارشی("1,2\n3,4\n"، گ)
    سرچاپ مقدار.طول آرایه(ب)، سی اس وی.از مقدار سفارشی(ب، گ)
پایان
خروجی3 2 name 2 علی 2 سارا، مهندس name,city علی,تهران سارا، مهندس,شیراز ["a", "b,c", "d"] ساده,"با ""نقل""" 1 علی age,name 30,علی 2 1,2 3,4

جدول سی اس وی CSVTable

ساختار جدول سی اس وی
یک جدول.
نامانگلیسیگونهتوضیح
rowsrowsوکتور<ردیف سی اس وی>ردیف‌ها، از جمله ردیف سرستون.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: encoding-csv-Table.salam

گزینه‌های سی اس وی CSVOptions

ساختار گزینه‌های سی اس وی
گزینه‌های تبدیل به مقدار و از آن.
نامانگلیسیگونهتوضیح
headerheaderمنطقی = درستردیف اول سرستون است؛ پیش‌فرض درست. اگر نادرست باشد، هر ردیف به یک آرایه تبدیل می‌شود.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: encoding-csv-Table.salam

روال‌ها

خواندن خط ReadLine

روال خواندن خط(line: رشته): وکتور<رشته>
یک خط CSV را به خانه‌هایش تقسیم می‌کند.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: encoding-csv-Table.salam

نوشتن خط WriteLine

روال نوشتن خط(fields: وکتور<رشته>): رشته
خانه‌ها را به یک خط CSV تبدیل می‌کند و هر جا لازم باشد نقل‌قول می‌گذارد.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: encoding-csv-Table.salam

خواندن همه ReadAll

روال خواندن همه(text: رشته): جدول سی اس وی
همه‌ی متن CSV را به جدول تبدیل می‌کند.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: encoding-csv-Table.salam

آزادسازی جدول FreeTable

روال آزادسازی جدول(t &: جدول سی اس وی)
حافظه‌ی جدول را آزاد می‌کند.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: encoding-csv-Table.salam

نوشتن همه WriteAll

روال نوشتن همه(table: جدول سی اس وی): رشته
جدول را به متن CSV تبدیل می‌کند.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: encoding-csv-Table.salam

به مقدار سفارشی ToValueWith

روال به مقدار سفارشی(text: رشته، opts: گزینه‌های سی اس وی): value.Value
CSV را با گزینه‌های داده‌شده به مقدار تبدیل می‌کند.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: encoding-csv-Table.salam

به مقدار ToValue

روال به مقدار(text: رشته): value.Value
CSV با سرستون را به آرایه‌ای از شیءها تبدیل می‌کند.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: encoding-csv-Table.salam

از مقدار سفارشی FromValueWith

روال از مقدار سفارشی(v: value.Value، opts: گزینه‌های سی اس وی): رشته
آرایه‌ای از شیءها یا آرایه‌ها را با گزینه‌های داده‌شده به CSV تبدیل می‌کند.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: encoding-csv-Table.salam

از مقدار FromValue

روال از مقدار(v: value.Value): رشته
آرایه‌ای از شیءها را به CSV با سرستون تبدیل می‌کند.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: encoding-csv-Table.salam