خواندن فایل اکسل در پایتون یکی از کارهای پرکاربرد برای برنامه نویسان، تحلیلگران داده و دانشجویان علم داده است. فایل های اکسل به دلیل ساختار جدولی و پشتیبانی از انواع داده ها، یکی از محبوب ترین فرمت ها برای ذخیره و انتقال اطلاعات هستند.
در پایتون، کتابخانه قدرتمند Pandas ابزارهای متنوعی برای کار با فایل های اکسل فراهم می کند. با استفاده از تابع read_excel
می توان داده ها را از یک یا چند شیت (Sheet) اکسل خواند، بخش های خاصی از داده را انتخاب کرد و در نهایت آن ها را در قالب یک DataFrame پردازش نمود.
در این مقاله به صورت گام به گام تمام روش های خواندن فایل اکسل در پایتون را بررسی می کنیم.
ایجاد یک فایل نمونه اکسل
در سیستم عامل ویندوز یک فایل اکسل با چندین شیت ایجاد می کنیم. داده های موجود در هر شیت به شکل زیر است:
این فایل را می توانید با استفاده از نرم افزار Excel در ویندوز ایجاد و با نام input.xlsx
ذخیره کنید.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 |
# داده های Sheet1 id,name,salary,start_date,dept 1,Rick,623.3,2012-01-01,IT 2,Dan,515.2,2013-09-23,Operations 3,Tusar,611,2014-11-15,IT 4,Ryan,729,2014-05-11,HR 5,Gary,843.25,2015-03-27,Finance 6,Rasmi,578,2013-05-21,IT 7,Pranab,632.8,2013-07-30,Operations 8,Guru,722.5,2014-06-17,Finance # داده های Sheet2 id name zipcode 1 Rick 301224 2 Dan 341255 3 Tusar 297704 4 Ryan 216650 5 Gary 438700 6 Rasmi 665100 7 Pranab 341211 8 Guru 347480 |
خواندن یک شیت از فایل اکسل در پایتون
تابع read_excel
از کتابخانه pandas برای خواندن محتوای یک فایل اکسل و تبدیل آن به یک DataFrame در پایتون استفاده می شود. این تابع می تواند فایل را از مسیر مشخص شده در سیستم عامل بخواند. به صورت پیش فرض، این تابع شیت اول (Sheet1) را می خواند.
1 2 3 |
import pandas as pd data = pd.read_excel('path/input.xlsx') print (data) |
اجرای کد بالا نتیجه زیر را تولید می کند. همانطور که مشاهده می کنید، یک ستون اضافی به عنوان ایندکس (شروع از صفر) توسط تابع ایجاد شده است.
1 2 3 4 5 6 7 8 9 |
id name salary start_date dept 0 1 Rick 623.30 2012-01-01 IT 1 2 Dan 515.20 2013-09-23 Operations 2 3 Tusar 611.00 2014-11-15 IT 3 4 Ryan 729.00 2014-05-11 HR 4 5 Gary 843.25 2015-03-27 Finance 5 6 Rasmi 578.00 2013-05-21 IT 6 7 Pranab 632.80 2013-07-30 Operations 7 8 Guru 722.50 2014-06-17 Finance |
خواندن ستون ها و ردیف های خاص
مشابه کاری که در فصل قبل برای فایل CSV انجام دادیم، تابع read_excel
در pandas می تواند تنها برخی ستون ها و ردیف های خاص را بخواند. برای این کار از متد چندمحوره loc()
استفاده می کنیم. در مثال زیر، ستون های salary
و name
را برای تعدادی از ردیف ها انتخاب کرده ایم:
1 2 3 4 5 |
import pandas as pd data = pd.read_excel('path/input.xlsx') # Use the multi-axes indexing funtion print (data.loc[[1,3,5],['salary','name']]) |
اجرای کد بالا نتیجه زیر را تولید می کند:
1 2 3 4 |
salary name 1 515.2 Dan 3 729.0 Ryan 5 578.0 Rasmi |
خواندن چندین شیت از یک فایل اکسل
برای خواندن چندین شیت با قالب های متفاوت می توان از تابع read_excel
به همراه یک کلاس کمکی به نام ExcelFile
استفاده کرد. این روش داده های همه شیت ها را تنها یک بار در حافظه بارگذاری می کند. در مثال زیر، دو شیت Sheet1
و Sheet2
را در دو DataFrame جداگانه می خوانیم و سپس هرکدام را به صورت جداگانه چاپ می کنیم.
1 2 3 4 5 6 7 8 9 10 |
import pandas as pd with pd.ExcelFile('C:/Users/Rasmi/Documents/pydatasci/input.xlsx') as xls: df1 = pd.read_excel(xls, 'Sheet1') df2 = pd.read_excel(xls, 'Sheet2') print("****Result Sheet 1****") print (df1[0:5]['salary']) print("") print("***Result Sheet 2****") print (df2[0:5]['zipcode']) |
خروجی:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
****Result Sheet 1**** 0 623.30 1 515.20 2 611.00 3 729.00 4 843.25 Name: salary, dtype: float64 ***Result Sheet 2**** 0 301224 1 341255 2 297704 3 216650 4 438700 Name: zipcode, dtype: int64 |
خواندن فایل اکسل در پایتون با استفاده از Pandas روشی سریع و کارآمد برای ورود داده به محیط برنامه نویسی است. در این آموزش یاد گرفتیم چگونه:
-
یک شیت اکسل را بخوانیم
-
ستون ها و ردیف های خاص را انتخاب کنیم
-
چندین شیت را به صورت همزمان بارگذاری کنیم
با تسلط بر این روش ها می توانید داده های اکسل را به راحتی پردازش و تحلیل کنید.
راستی! برای دریافت مطالب جدید در کانال تلگرام یا پیج اینستاگرام سورس باران عضو شوید.
- انتشار: ۱۸ مرداد ۱۴۰۴
دسته بندی موضوعات
- آموزش ارز دیجیتال
- آموزش برنامه نویسی
- آموزش متنی برنامه نویسی
- اطلاعیه و سایر مطالب
- پروژه برنامه نویسی
- دوره های تخصصی برنامه نویسی
- رپورتاژ
- فیلم های آموزشی
- ++C
- ADO.NET
- Adobe Flash
- Ajax
- AngularJS
- apache
- ARM
- Asp.Net
- ASP.NET MVC
- AVR
- Bootstrap
- CCNA
- CCNP
- CMD
- CSS
- Dreameaver
- EntityFramework
- HTML
- IOS
- jquery
- Linq
- Mysql
- Oracle
- PHP
- PHPMyAdmin
- Rational Rose
- silver light
- SQL Server
- Stimulsoft Reports
- Telerik
- UML
- VB.NET&VB6
- WPF
- Xml
- آموزش های پروژه محور
- اتوکد
- الگوریتم تقریبی
- امنیت
- اندروید
- اندروید استودیو
- بک ترک
- بیسیک فور اندروید
- پایتون
- جاوا
- جاوا اسکریپت
- جوملا
- دلفی
- دوره آموزش Go
- دوره های رایگان پیشنهادی
- زامارین
- سئو
- ساخت CMS
- سی شارپ
- شبکه و مجازی سازی
- طراحی الگوریتم
- طراحی بازی
- طراحی وب
- فتوشاپ
- فریم ورک codeigniter
- فلاتر
- کانستراکت
- کریستال ریپورت
- لاراول
- معماری کامپیوتر
- مهندسی اینترنت
- هوش مصنوعی
- یونیتی
- کتاب های آموزشی
- Android
- ASP.NET
- AVR
- LINQ
- php
- Workflow
- اچ تی ام ال
- بانک اطلاعاتی
- برنامه نویسی سوکت
- برنامه نویسی موبایل
- پاسکال
- پایان نامه
- پایتون
- جاوا
- جاوا اسکریپت
- جی کوئری
- داده کاوی
- دلفی
- رباتیک
- سئو
- سایر کتاب ها
- سخت افزار
- سی اس اس
- سی پلاس پلاس
- سی شارپ
- طراحی الگوریتم
- فتوشاپ
- مقاله
- مهندسی نرم افزار
- هک و امنیت
- هوش مصنوعی
- ویژوال بیسیک
- نرم افزار و ابزار برنامه نویسی
- وردپرس