خواندن اطلاعات از اکسل با پایتون

در پست قبلی درباه نحوه ویرایش فایل اکسل و نوشتن در آن با استفاده از زبان پایتون صحبت کردیم. در این پست می خواهیم داده های نوشته شده را در پایتون بخوانیم. در این مطلب ما از ماژول XLRD استفاده می کنیم که به ما کمک می کند اطلاعات اکسل را با انتخاب دقیق سطر و ستون بخوانیم.

ابتدا باید این ماژول را نصب نماییم

pip install xlrd

این ماژول با نسخه فعلی اکسل (من نسخه 2016 و 2019 رو تست کردم) کار می کند. برای اینکه پایتون فایل شما رو ببیند باید مسیر فایل را معرفی کنید. سپس از پایتون بخواهیم که فایل را برای ما باز کند

import xlrd
loc = (&quotc:\\temp\\welcome.xlsx&quot)
wb = xlrd.open_workbook(loc)


حالا باید برگه ای (Sheet) که می خواهید را انتخاب کنید. برای اینکار می توانید از دستور wb.sheet_by_index(0) استفاده کنید. شماره داخل پرانتز نمایانگر شمارش برگه های اکسل است. یا در صورت نیاز می توانید از دستور wb.sheet_by_name(sheet name) استفاده کنید.

sheet = wb.sheet_by_index(0)
## OR
wb.sheet_by_name(Sheet1)

حالا برای امتحان می توانیم دستور زیر را اجرا کنیم:

print(sheet.cell_value(0,0))

این دستور مقدار ثبت شده در اولین سطر و اولین ستون را نمایش می دهد. در اکسل نمونه ما این مقدار "Name" است.

حال می خواهیم بدانیم برگه ما چند سطر و ستون دارد. برای اینکار می توانید از دستورات زیر استفاده نمایید:

print(sheet.nrows)
print(sheet.ncols)

از خروجی این دستورات می توانید برای عملیات های مختلف استفاده نمایید. به عنوان نمونه می خواهیم مقدار وارد شده در سطر اول را مشاهده نماییم:

for i in range(sheet.ncols):
     print(sheet.cell_value(0, i))

مقادیر داخل پرانتز به ترتیب به شماره سطر و ستون اشاره می کنند. لذا خروجی مقادیر سطر اول و ستون های موجود به تعدادی که پایتون در قسمت عبارت شرط شمرده می باشد.

همین کار را می توانیم برای مقادیر یک ستون نیز انجام دهیم.

for i in range(sheet.nrows):
     print(sheet.cell_value(i, 0))

یا همه سطر ها و ستون ها را در یک نگاه ببینیم:

for i in range(sheet.nrows):
      for j in range(sheet.ncols):
           print(sheet.cell_value(i, j))

شما می توانید کدهای بالا را در گیت هاب من مشاهده کنید.