حالت آفلاین — محتوا از حافظهٔ کش نمایش داده می‌شود
آموزش کار با فایل در پایتون؛ CSV، JSON و گزارش‌گیری

پیش‌بینی csv.reader در پایتون؛ نوع داده هر سلول

خواندن CSV با پایتون؛ ستون‌ها، نقل‌قول و عددهای متنی · 0٪

✍️ قالب CSV اطلاعات نوع پایتونی ذخیره نمی‌کند. reader متن هر سلول را به همان شکل رشته برمی‌گرداند؛ اگر بخواهیم تعداد را در قیمت ضرب کنیم، تبدیل عدد را باید آگاهانه انجام بدهیم. حتی اگر ظاهر یک سلول فقط رقم باشد، خروجی اولیه parser هنوز رشته است.

مثلاً ردیف مداد,4,25 به سه رشته تبدیل می‌شود، نه یک رشته و دو عدد. حالا خروجی این نمونه را انتخاب کن:

import csv
import io
text = 'product,quantity\nدفتر,2\n'
rows = list(csv.reader(io.StringIO(text)))
print(rows[1])

خانه صفر rows خود سطر عنوان است، چون csv.reader به‌صورت خودکار معنی header را تشخیص نمی‌دهد. خانه یک اولین رکورد داده است. بعداً DictReader از عنوان‌ها کلید می‌سازد، ولی حتی آن هم به‌طور خودکار رشته را به عدد تبدیل نمی‌کند.

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

فعالیت شما

خروجی rows[1] را انتخاب کن؛ reader سطر عنوان را هم به عنوان اولین ردیف می‌خواند و تمام سلول‌ها رشته هستند.

مطالعهٔ این گام برای همه آزاد است

برای پاسخ‌دادن، بررسی پاسخ، ثبت پیشرفت و استفاده از دستیار باید شرایط شرکت در فعالیت‌ها را داشته باشید.

برای انجام فعالیت وارد شوید

برای انجام فعالیت‌ها ابتدا این دوره‌های پیش‌نیاز را تکمیل کنید:

گزینه‌های پیش‌بینی خروجی

  1. ['دفتر', '2']
  2. ['دفتر', 2]
  3. ['product', 'quantity']