loader


If you’re a novice and wish to know the way to paintings with knowledge in Python, do an interactive process datacamps, Uploading knowledge into python To paintings with CSV and Excel recordsdata in Python.

The usage of Python and Excel for Information Science

Excel is a spreadsheet utility evolved through Microsoft in 1987. It’s formally supported through nearly all running methods like Home windows, Macintosh, Android and so on. It comes pre-installed with Home windows OS and may also be simply built-in. Different OS Platforms. On the subject of running with structured knowledge, Microsoft Excel is the most efficient and maximum out there device.

It organizes, analyzes and shops your knowledge in a tabular row-column type. You’ll be able to do calculations and create pivot tables, graphs and extra! Since its liberate, the device received recognition and is extensively utilized in many various utility fields and all sorts of domain names international.

Because the day the Web used to be created, it has grown hastily, and so has the volume of information. The building up in knowledge has driven the desire for folks to know the way to investigate it. Companies and governments had been gathering large knowledge. Due to this fact, the time period knowledge science used to be coined.

When running with knowledge, it is very important take care of the spreadsheet in the future; On the other hand, running at once with a spreadsheet may also be irritating every now and then, particularly if you find yourself a developer. To do away with this drawback, Python builders started to investigate all sorts of report codecs, together with studying, writing, spreadsheets.

As of late’s educational will likely be most commonly on how you’ll be able to use the Python programming language and paintings at once with Excel with out the usage of the Microsoft Excel utility. This provides you with hands-on enjoy with the programs that you’ll be able to use to load, learn, write and analyze those spreadsheets with the assistance of Python. Paintings with a bundle such as you The panda, openpyxl, xlrd, xlutils, And pyexcel.

Information is oil

While you get started any mission that relates at once or not directly to knowledge, the primary and maximum essential factor you do is seek for a dataset. Now gathering knowledge may also be performed in quite a lot of tactics, both the usage of internet scraping, a personal dataset from a buyer, or a public dataset downloaded from resources GitHub, universities, kaggle, quandl, e.t.c.

This information may also be in an Excel report or may also be stored with .csv, .txt, JSON, And so on. report extension. Information may also be qualitative or quantitative. Information sorts might range relying on the kind of drawback you intend to resolve. Due to this fact, as a primary step, you will have to to find out whether or not you’re running with qualitative or quantitative knowledge.

Information may also be:

  • Steady
  • Aside
  • Hierarchical – binary, unordered, looked after
  • Pixels of pictures, and so on.

Highest Practices for Spreadsheet Information

Prior to you get started loading, studying, and inspecting your knowledge in Python, this can be a excellent follow to have a look at pattern knowledge and perceive if the next level consistent with the report you intend to paintings with. Huh:

  • The first row of the spreadsheet is generally reserved for the header, which describes what the information in each and every column represents except the information within the spreadsheet is the pixel of the pictures.

  • Keep away from areas or names or values ​​with box headers between names that include names of more than one phrases with gaps or areas. Imagine the usage of Python’s same old PEP-Eight structure similar to:

    • Underscore
    • Sprint,
    • Camel case, the place the primary letter of each and every segment of textual content is capitalized, or
  • Favor to make use of quick names as a substitute of lengthy names or sentences,

  • Attempt to keep away from the usage of names that experience particular characters similar to ?, $,%, ^And so on., as a result of particular characters don’t put across anything else concerning the knowledge.

  • Some columns for your knowledge could have lacking values. Remember to fill them with NA or fill them with the imply or median of all of the column.

When running with Microsoft Excel, you’re going to get quite a lot of choices to avoid wasting your report. Excluding the default extension .xls or .xlsx, You’ll be able to move to the “File” tab, click on “Save as” and make a selection the extension indexed as one of the most “Save as extension” report extension choices. The maximum regularly used extensions to avoid wasting datasets for knowledge science are .csv And .txt(As a tab-delimited textual content report) or even .xml. Relying at the financial savings possibility you select, the fields for your knowledge set are separated through tabs or commas, which can create the “field separator character” of your knowledge set.

Since loading knowledge saved in Excel is essential to understand the element of your report, your Python library wishes to understand explicitly whether or not this can be a comma-separated or tab-separated report.

Under are all of the report extensions that MS excel helps:

Getting ready Your Workbench (Not obligatory)

Growing your workspace is excellent to stay one step for your pipeline, however it isn’t a compulsory step and may also be skipped. However having this primary step for your pipeline makes existence more effective and guarantees that you simply get off to a excellent get started.

Test that your running listing is equal to your Python codebase listing.

When you find yourself running in a terminal, you’ll be able to first navigate to the listing this is situated for your report after which get started Python. This additionally signifies that you must ensure that your report is situated within the listing you wish to have to paintings on!

However anyone who’s a novice and has already began your Python consultation and you have not were given a clue of the listing you are no longer running in; You will have to imagine executing the next instructions:

# Import `os`
import os
# Retrieve present running listing (`cwd`)
cwd = os.getcwd()
cwd
# Trade listing
os.chdir("/path/to/your/folder")
# Checklist all recordsdata and directories in present listing
os.listdir('.')

In a different way could be to stay observe of preserving your dataset report. As an alternative of adjusting the listing the place you intend to write down Python code, you’ll be able to give the overall trail to that folder for your code. The absolute trail will be sure that you write Python code anyplace, it’ll have the ability to fetch knowledge for you!

You are going to see that those instructions are essential, no longer just for loading your knowledge but in addition for additional research. For now, let’s simply proceed. You have got long past thru all of the checkups, stored your knowledge, and created your workspace.

Prior to you in spite of everything get started studying knowledge in Python, yet one more factor stays: to put in the vital bundle to learn and write the Excel report.



Set up bundle to learn and write Excel recordsdata

be sure you have pip And setuptools Is put in for your device. Don’t use Python 2 as it’s grew to become off and be sure you have Python 3> = 3.Four put in, you don’t want to fret as a result of then you’re going to most often be in a position already. If you have already got Python3, be sure you have upgraded to the newest model.

Should you should not have Python put in for your device, be happy This educational.

Take a look at in case your pipe or pip3 command is symbolically hooked up to Python3, use the device you intend to make use of on this educational (> = 3.4). Additionally, take a look at typing Python Which model it displays within the terminal is = = 2.7 or> = 3.4, whether it is 2.7, take a look at typing Python3, If it really works, it method that you’ve two other Python variations put in for your device.

To try this, run the next command for your terminal:

# For Linux/OS X
pip set up -U pip setuptools or pip3 set up -U pip3 setuptools
# For Home windows
python -m pip set up -U pip setuptools or python3 -m pip set up -U pip setuptools

Should you aren’t put in pip Anyway, run python get-pip.py Script you’ll be able to get right here. You’ll be able to additionally apply the set up directions at the web page if you want extra assist to get the entirety operating correctly. You’ll be able to additionally see this Hyperlink to put in pipe if the primary hyperlink does no longer give you the results you want.

Putting in Anaconda is find out how to move!

Anaconda Python distribution is most probably what you will have to be in search of because it comes bundled with nearly the entirety you can want to get started your science adventure. The whole thing will likely be put in within it, beginning with Python, Pip, Pandas, Nampi, Metplotlib, and so on. This offers you a straightforward and fast option to get began with doing knowledge science since you should not have to fret about putting in the programs one by one that you want to do knowledge science. On the other hand, there’ll nonetheless be numerous programs that might not be lined through Anaconda, which you’ll be able to set up manually by the use of Pip or construct from supply.

Anaconda is not just helpful for rookies, however may be thought to be helpful and heavy through skilled builders. This can be a option to temporarily check some proof-of-concept with no need to put in each and every bundle one by one, which saves numerous time.

Comprises anaconda 100 hottest Python, R, and Scala programs For knowledge science and lots of open supply construction environments similar to Jupiter Lab / Pocket book and Spider IDE. If you wish to get started running with Jupiter Pocket book after this educational, move this web page.

You’ll be able to move right here To arrange anaconda. To learn to set up Anaconda, see The documentation. Observe the directions to put in, and you are prepared to start out!

Congratulations, your setting is ready up!

You’re all set to start out loading and inspecting your recordsdata.

Load Excel recordsdata as pandas DataFrames

The bundle of pandas is likely one of the easiest tactics you’ll be able to continuously use to import your dataset and constitute it in a tabular row-column structure. The library of pandas is constructed on best of numerical Python popularly referred to as NumPy and offers an easy-to-use knowledge construction and knowledge research device for the Python programming language. Pandas have integrated purposes that can be utilized to investigate and plot your knowledge and know it!

Because of the power and versatility that this library supplies, it has develop into the primary selection of each and every knowledge scientist. In fact, this library has some disadvantages; Particularly when running with massive datasets, it may be sluggish to load, learn, and analyze massive datasets with tens of millions of data.

If you have already got pandas to be had thru Anaconda, you’ll be able to load your Excel report into the pandas dataframe pd.Excelfile() Paintings as proven underneath:

Simply make a dummy instance.xlsx Report and fill in some arbitrary values ​​in rows and columns and reserve it in a single .xlsx Layout.

# Import pandas
import pandas as pd
# Assign spreadsheet filename to `report`
report="example.xlsx"
# Load spreadsheet
xl = pd.ExcelFile(report)
# Print the sheet names
print(xl.sheet_names)
# Load a sheet right into a DataFrame through call: df1
df1 = xl.parse('Sheet1')

In case you have no longer put in Anaconda, you can get no module Error. Simply execute pip set up pandas On a terminal or !pip set up pandas To put in the bundle of pandas for your setting, execute the instructions incorporated at the Jupiter Pocket book mobile after which within the code bite above.

It is so smooth, is not it?

To learn in .csv You may have a an identical serve as to load knowledge into knowledge: read_csv(). An instance of ways you’ll be able to use this serve as is as follows:

# Import pandas
import pandas as pd
# Load csv
df = pd.read_csv("example.csv")

pd.read_csv() The rite is one sep The argument that acts as a delimiter that can take note this serve as is a comma or a tab, through default it’s set to a comma, however you’ll be able to specify an non-compulsory delimitation if you wish to have. Cross to The documentation To determine what different arguments you’ll be able to specify to import your report and cargo it effectively.

Easy methods to write pandas DataFrames for Excel recordsdata

Because you load and browse recordsdata .csv or .xlsx Report codecs in pandas, in a similar fashion, you’ll be able to save the panda knowledge body as both an Excel report .xlsx As extension or a .csv Report. Give an explanation for that once knowledge research and system finding out predictions, you wish to have to write down the up to date knowledge or go back to a brand new report. You’ll be able to get through the usage of pandas to_excel() Serve as.

However, prior to you employ this serve as, be sure you have XlsxWriter Put in if you wish to write your knowledge to multiple worksheet .xlsx Report, as proven underneath:

# Set up `XlsxWriter`
!pip set up XlsxWriter
import pandas as pd
# Specify a creator
creator = pd.ExcelWriter('instance.xlsx', engine="xlsxwriter")
# Write your DataFrame to a report
# yourData is a dataframe that you have an interest in writing as an excel report
yourData.to_excel(creator, 'Sheet1')
# Save the end result
creator.save()

Let’s damage the above code and know it step-by-step:

  • You first outline creator Through which knowledge body output will likely be stored the usage of a ExcelWriter Object for DataFrame output.

  • pd.ExcelWriter The serve as takes two arguments, the filename and the engine xlsxwriter.

  • After this, you move creator Variable to_excel() Serve as, and also you additionally specify the sheet call. On this means, you upload a sheet with knowledge to an present workbook, which might include more than one worksheets within the workbook: you’ll be able to use it ExcelWriter एक से अधिक कार्य करने के लिए, अलग-अलग DataFrames को बचाने के लिए एक से अधिक कार्यपुस्तिकाएँ।

एक बेहतर और सरल विकल्प डेटा को लिखना है .csv विस्तार। जैसा कि आपने ऊपर देखा कि आप कैसे पढ़ सकते हैं .csv फ़ाइल का उपयोग कर read_csv, आप पंडों का उपयोग करके डेटा फ़्रेम परिणामों को अल्पविराम से अलग की गई फ़ाइल पर भी लिख सकते हैं to_csv() विधि के रूप में नीचे दिखाया गया है:

# Write the DataFrame to csv
df.to_csv("example.csv")

यदि आप आउटपुट को टैब से अलग किए गए फ़ैशन में सहेजना चाहते हैं, तो आपको केवल एक पास करना होगा t To sep बहस। ध्यान दें कि अन्य विभिन्न कार्य और तरीके हैं जिनका उपयोग आप अपनी फ़ाइलों को लिखने के लिए कर सकते हैं। आप पास भी कर सकते हैं header And index के लिए तर्क to_csv समारोह। आप उन सभी को पा सकते हैं right here.

कोंडा पर्यावरण का उपयोग करना

इन पैकेजों को स्थापित करने की सामान्य सलाह इसे पायथन या एनाकोंडा में करना है virtualenv सिस्टम पैकेज के बिना। वर्चुअल वातावरण के अंदर पैकेज स्थापित करने का लाभ यह है कि यह आधार सिस्टम पैकेजों को अपग्रेड या डाउनग्रेड नहीं करता है, और आपके पास अलग-अलग परियोजनाओं के लिए अलग-अलग कोंडा वातावरण हो सकते हैं।

Virtualenv के साथ काम करना शुरू करने के लिए, आपको पहले इसे स्थापित करने की आवश्यकता है। एक आभासी वातावरण स्थापित करना बहुत सरल है, खासकर एनाकोंडा के साथ। आपके आधार पर, एनाकोंडा बस एक नाम और अजगर संस्करण के साथ आभासी वातावरण बनाता है जिसे आप उपयोग करना चाहते हैं। बस इसे सक्रिय करें, आपको जो भी पैकेज चाहिए उसे स्थापित करें और अपने प्रोजेक्ट फ़ोल्डर में जाएं।

टिप: जब आप काम कर लें तो पर्यावरण को निष्क्रिय करना न भूलें!

# Set up virtualenv
$ conda create --name excel python=3.5
# Turn on `excel`
$ conda turn on excel
# Cross to the folder of your mission
$ cd my_folder
# Deactivate `excel`
$ conda deactivate

आभासी वातावरण होने से जीवन बहुत सरल हो जाता है। एक डेवलपर के रूप में कल्पना करें, आप कई अलग-अलग परियोजनाओं पर काम कर रहे होंगे, और प्रत्येक परियोजना को अलग-अलग संस्करणों के साथ एक अलग पैकेज की आवश्यकता हो सकती है। जब आपकी परियोजनाओं में परस्पर विरोधी आवश्यकताएं होती हैं, तो आभासी वातावरण काम आएगा!

अन्यथा, आप एक पैकेज को स्थापित करने के लिए चक्कर लगाते रहेंगे, फिर इसे एक परियोजना के लिए अपग्रेड करते हुए दूसरे के लिए अपग्रेड करते रहेंगे। एक बेहतर विचार हर परियोजना के लिए अलग वातावरण होगा।

अब आप अंततः उन पैकेजों को स्थापित और आयात करना शुरू कर सकते हैं जिन्हें आपने अपने स्प्रेडशीट डेटा में लोड करने के बारे में पढ़ा है।

Openpyxl के साथ एक्सेल फाइल को कैसे पढ़ें और लिखें

यदि आप पढ़ना और लिखना चाहते हैं तो Openpyxl पैकेज की सिफारिश की जाती है .xlsx, xlsm, xltx, And xltm फ़ाइल प्रारूप।

आप स्थापित कर सकते हैं openpyxl the usage of the pip लेकिन अंदर excel कोंडा पर्यावरण, जैसा कि नीचे दिए गए कोड सेल में दिखाया गया है।

आप इसके बारे में अधिक पढ़ सकते हैं openpyxl right here.

# Turn on virtualenv
$ conda turn on excel
# Set up `openpyxl` in `excel`
$ pip set up openpyxl

अब आप स्थापित कर चुके हैं openpyxl, आप डेटा में लोड करना शुरू कर सकते हैं।

लेकिन इससे पहले कि आप डेटा में लोड करें, आपको इसे बनाने की आवश्यकता होगी।

डेटा बनाने के लिए, आप नीचे दी गई कार्यपुस्तिका का अनुसरण कर सकते हैं, जिसमें तीन शीट हैं जिन्हें आप पायथन में लोड कर रहे हैं:

load_workbook() फ़ंक्शन फ़ाइल नाम को एक तर्क के रूप में लेता है और एक रिटर्न देता है workbook वस्तु wb, जो फ़ाइल का प्रतिनिधित्व करता है। आप के प्रकार की जाँच कर सकते हैं wb चलाकर sort(wb).

# Import `load_workbook` module from `openpyxl`
from openpyxl import load_workbook
# Load within the workbook
wb = load_workbook('check.xlsx')
# Get sheet names
print(wb.sheetnames)
['Sheet1', 'Sheet2', 'Sheet3']

आप देखते हैं कि ऊपर दिया गया कोड, उस कार्यपुस्तिका के शीट नामों को लौटाता है जिसे आपने पायथन में लोड किया था। इसके बाद, आप इस जानकारी का उपयोग कार्यपुस्तिका की अलग शीट को पुनः प्राप्त करने के लिए भी कर सकते हैं।

आप यह भी देख सकते हैं कि वर्तमान में कौन सी शीट सक्रिय है wb.energetic. जैसा कि आप नीचे दिए गए कोड में देख सकते हैं, आप अपनी वर्कबुक से दूसरी शीट भी लोड कर सकते हैं:

# Get a sheet through call
sheet = wb['Sheet1']
# Print the sheet identify
print('Sheet Identify:',sheet.identify)
# Get lately energetic sheet
anotherSheet = wb.energetic
# Take a look at `anotherSheet`
print(anotherSheet)
Sheet Identify: Sheet1

हालांकि आप सोचेंगे कि ये Worksheet वस्तुओं का कोई फायदा नहीं है, आप इनसे बहुत कुछ कर सकते हैं। जैसे आप वर्गाकार कोष्ठकों का उपयोग करके अपनी कार्यपुस्तिका की शीट में विशिष्ट कोशिकाओं से मान प्राप्त कर सकते हैं [], और इन चौकोर कोष्ठकों में, आप उस सटीक सेल को पास करेंगे जहाँ से आप मान प्राप्त करना चाहते हैं।

एक सेल से मान निकालने का यह तरीका सूचकांक पदों के माध्यम से NumPy सरणियों और पंडों डेटा फ्रेम से मूल्यों को चुनने और निकालने के लिए आत्मा में काफी समान है। लेकिन Openpyxl के साथ, आपको विशेषता निर्दिष्ट करने की आवश्यकता है .price केवल उस इंडेक्स को निर्दिष्ट करने के अलावा जहां से आप नीचे दिखाए अनुसार मान निकालना चाहते हैं:

# Retrieve the price of a definite mobile
print(sheet['A1'].price)
# Make a choice component 'B3' of your sheet
c = sheet['B3']
# Retrieve the row collection of your component
print('Row No.:', c.row)
# Retrieve the column collection of your component
print('Column Letter:', c.column)
# Retrieve the coordinates of the mobile
print('Coordinates of mobile:', c.coordinate)
ID
Row No.: 3
Column Letter: 2
Coordinates of mobile: B3

जैसा कि आप देख सकते हैं, इसके अलावा price विशेषता, ऐसी अन्य विशेषताएँ हैं जिनका उपयोग आप अपने सेल का निरीक्षण करने के लिए कर सकते हैं row, column, And coordinate.

चयन करते समय उपरोक्त कोड सेल आउटपुट से B3 शीट 1 से तत्व:

  • row विशेषता देता है 3;
  • जोड़ रहा है column विशेषता देता है 2, And
  • coordinate सेल देता है B3.

यह कोशिकाओं के बारे में जानकारी थी, अब क्या होगा यदि आप सेल मूल्यों को पुनः प्राप्त करना चाहते हैं?

आप का उपयोग करके सेल मान प्राप्त कर सकते हैं sheet.mobile() समारोह। आपको बस इतना करना है row और यह column तर्क और विशेषता जोड़ें .price अंत में, जैसा कि नीचे दिखाया गया है:

# Retrieve mobile price
print(sheet.mobile(row=1, column=2).price)
AGE

मैन्युअल रूप से पंक्ति और स्तंभ अनुक्रमणिका का चयन करने के बजाय लगातार मान निकालने के लिए, आप इसका उपयोग कर सकते हैं for की मदद से लूप vary() समारोह।

यह आपको बहुत हार्डकॉडिंग के बिना सेल वैल्यू निकालने के मामले में बहुत लचीलापन देगा। आइए उन पंक्तियों के मानों को प्रिंट करें जिनके कॉलम में मान हैं। यदि वे विशेष कोशिकाएँ खाली हैं, तो आप बस वापस आ जाएँगे None.

यदि आप छोरों के बारे में अधिक जानना चाहते हैं, तो हमारे विचार करें डाटा साइंस के लिए इंटरमीडिएट अजगर पाठ्यक्रम।

# Print out values in column 2
for i in vary(1, 4):
     print(i, sheet.mobile(row=i, column=2).price)
1 AGE
2 22
3 15

openpyxl एक software कक्षा जिसमें दो विधियाँ हैं get_column_letter And column_index_from_string. जैसा कि नाम से पता चलता है, पूर्व में नंबर / पूर्णांक दिए गए पत्र को वापस कर देता है और बाद वाला नंबर स्ट्रिंग के रूप में एक पत्र प्रदान करता है।

आप देख सकते हैं कि यह नीचे कैसे काम करता है:

# Import related modules from `openpyxl.utils`
from openpyxl.utils import get_column_letter, column_index_from_string
# Go back 'A'
print('Column Letter:', get_column_letter(1))
# Go back '1'
print('Column Index:', column_index_from_string('A'))
Column Letter: A
Column Index: 1

आप किसी विशेष कॉलम में मानों के साथ पंक्तियों के लिए पहले से ही मानों को पुनः प्राप्त कर चुके हैं, लेकिन यदि आप केवल एक कॉलम पर ध्यान दिए बिना अपनी फ़ाइल की पंक्तियों को प्रिंट करना चाहते हैं, तो आपको क्या करने की आवश्यकता है?

आप लूप के लिए एक और उपयोग करते हैं, बिल्कुल!

आप कहते हैं, उदाहरण के लिए, कि आप के बीच के क्षेत्र पर ध्यान केंद्रित करना चाहते हैं A1 And C3, जहां पहला बाएं ऊपरी कोने को निर्दिष्ट करता है और दूसरा उस क्षेत्र के दाएं निचले कोने में जिस पर आप ध्यान केंद्रित करना चाहते हैं।

यह क्षेत्र तथाकथित होगा cellObj आप नीचे दिए गए कोड की पहली पंक्ति में देखते हैं। फिर आप उस क्षेत्र में स्थित प्रत्येक कोशिका के लिए कहते हैं; आप उस सेल के भीतर सम्‍मिलित समन्‍वय और मान को प्रिंट करते हैं। प्रत्येक पंक्ति के अंत के बाद, आप एक संदेश मुद्रित करेंगे जो पंक्ति को इंगित करता है cellObj क्षेत्र मुद्रित किया गया है।

फिर से ध्यान दें कि क्षेत्र का चयन सूची का चयन करने, प्राप्त करने और अनुक्रमण करने के लिए समान है, और NumPy सरणी तत्व, जहां आप वर्ग कोष्ठक और एक कोलन का उपयोग करते हैं : उस क्षेत्र को इंगित करने के लिए जिसे आप मान प्राप्त करना चाहते हैं। इसके अलावा, उपरोक्त लूप भी सेल विशेषताओं का अच्छा उपयोग करता है!

उपरोक्त स्पष्टीकरण और कोड दृश्य बनाने के लिए, आप परिणाम की जांच कर सकते हैं कि लूप समाप्त होने के बाद आपको वापस मिल जाएगा:

# Print row consistent with row
for cellObj in sheet['A1':'C3']:
      for mobile in cellObj:
              print(mobile.coordinate, mobile.price)
      print('--- END ---')
A1 ID
B1 AGE
C1 SCORE
--- END ---
A2 1
B2 22
C2 5
--- END ---
A3 2
B3 15
C3 6
--- END ---

अन्त में, कुछ विशेषताएँ हैं जिनका उपयोग आप अपने आयात के परिणाम के आधार पर जांचने के लिए कर सकते हैं max_row And max_column. ये विशेषताएं, निश्चित रूप से, यह सुनिश्चित करने के सामान्य तरीके हैं कि आपने डेटा को सही तरीके से लोड किया है, लेकिन फिर भी, वे उपयोगी हो सकते हैं।

# Retrieve the utmost quantity of rows
print('Max Rows:', sheet.max_row)
# Retrieve the utmost quantity of columns
print('Max Columns:', sheet.max_column)
Max Rows: 4
Max Columns: 3

महान, इसलिए अब तक, आपने देखा कि कैसे आप डेटा पढ़ सकते हैं और पायथन में ओपनपीक्सएल का उपयोग करके इसे पुनः प्राप्त कर सकते हैं। आप में से बहुत से लोगों ने महसूस किया होगा कि यह इन फ़ाइलों के साथ काम करने का एक भयानक तरीका है और जब आपने यह भी नहीं देखा कि आप डेटा को कैसे हेरफेर कर सकते हैं, जो निश्चित रूप से और भी जटिल हो सकता है।

लेकिन चिंता मत करो, एक बहुत आसान तरीका है!

बचाव के लिए डेटाफ़्रेम।

आप उपयोग कर सकते हैं DataFrame() पंडों के पैकेज से डेटा शीट में मानों को डालने के लिए फ़ंक्शन करें और फिर अपने डेटा का विश्लेषण और हेरफेर करने के लिए सभी डेटा फ़्रेम फ़ंक्शन का उपयोग करें:

# Import `pandas`
import pandas as pd
# Convert Sheet to DataFrame
df = pd.DataFrame(sheet.values)

यदि आप हेडर और इंडेक्स निर्दिष्ट करना चाहते हैं, तो आप हेडर और इंडेक्स की सूची के साथ एक हेडर ट्रू पास कर सकते हैं, हालाँकि, चूंकि आपने जिस शीट को डेटा फ्रेम में परिवर्तित किया है, उसमें हेडर पहले से ही हैं, आपको हेडर जोड़ने की आवश्यकता नहीं है:

from itertools import islice
# Put the sheet values in `knowledge`
knowledge = sheet.values
# Point out the columns within the sheet values
cols = subsequent(knowledge)[1:]
# Convert your knowledge to a listing
knowledge = record(knowledge)
# Learn within the knowledge at index Zero for the indices
idx = [r[0] for r in knowledge]
# Slice the information at index 1
knowledge = (islice(r, 1, None) for r in knowledge)
# Make your DataFrame
df = pd.DataFrame(knowledge, index=idx, columns=cols)
print(df)
   AGE  SCORE
1   22      5
2   15      6
3   28      9

आप एक्सेल फाइलों में वापस मानों को जोड़ या लिख ​​सकते हैं, जिनकी मदद से नीचे दिखाया गया है dataframe_to_rows विधि आप डेटा फ्रेम पास करते हैं df आपने इंडेक्स और हेडर के साथ ऊपर बनाया था:

# Import `dataframe_to_rows`
from openpyxl.utils.dataframe import dataframe_to_rows
from openpyxl import *
# Initialize a workbook
wb = Workbook()
# Get the worksheet within the energetic workbook
ws = wb.energetic
# Append the rows of the DataFrame on your worksheet
for r in dataframe_to_rows(df, index=True, header=True):
    ws.append(r)

openpyxl पैकेज आपको उच्च लचीलापन प्रदान करता है कि आप अपने डेटा को एक्सेल फाइलों पर वापस कैसे लिखना चाहते हैं। यह आपको सेल शैलियों और व्हाट्सएप को बदलने की अनुमति देता है, जो इसे उन पैकेजों में से एक बनाता है जिन्हें आपको स्प्रेडशीट के साथ काम करते समय जानना आवश्यक है।

listen: अधिक जानने के लिए openpyxl जैसे आप सेल स्टाइल को कैसे बदल सकते हैं या पैकेज कैसे काम करता है NumPy और Pandas इसकी जांच करते हैं बाहर.

एक और ऐसा पैकेज जो स्प्रेडशीट के साथ काम करते समय उपयोगी होता है xlrd. आइए देखें कि क्या है!

पठन और प्रारूपण एक्सेल फाइलें: xlrd

यदि आप फ़ाइलों के साथ डेटा को पढ़ना और उसमें हेरफेर करना चाहते हैं तो यह पैकेज आदर्श है .xls or .xlsx विस्तार।

# Import `xlrd`
import xlrd
# Open a workbook
workbook = xlrd.open_workbook('check.xlsx')
# Quite a bit simplest present sheets to reminiscence
workbook = xlrd.open_workbook('check.xlsx', on_demand = True)

xlrd आपको ऐसे कार्य प्रदान करते हैं जिनका उपयोग आप केवल एक विशिष्ट पत्रक को पुनः प्राप्त करने या फ़िल्टर करने के लिए कर सकते हैं न कि पूरी कार्यपुस्तिका के लिए। यह आपको इस तरह के कार्य प्रदान करता है sheet_by_name() or sheet_by_index() उन शीटों को पुनः प्राप्त करने के लिए जिन्हें आप अपने विश्लेषण में उपयोग करना चाहते हैं और बाकी को फ़िल्टर करें।

# Load a particular sheet through call
worksheet = workbook.sheet_by_name('Sheet1')
# Load a particular sheet through index
worksheet = workbook.sheet_by_index(0)
# Retrieve the price from mobile at indices (0,0)
sheet.mobile(1, 1).price
'ID'

अपने डेटा को एक्सेल फाइलों में xlwt के साथ लिखना

अन्य एक्सेल पायथन पैकेजों की तरह, आप उपयोग कर सकते हैं xlwt स्प्रैडशीट बनाने के लिए जो आपके डेटा को मैन्युअल रूप से उनमें है। आप भी उपयोग कर सकते हैं xlwt पैकेज, के अलावा XlsxWriter पैकेज। xlwt पुराने एक्सटेंशन जैसी फ़ाइलों के साथ डेटा और प्रारूप जानकारी लिखने के लिए आदर्श है .xls.

पहली बार में, आप शायद ही इस बात में ज्यादा अंतर पाएंगे कि आपके द्वारा सीखे गए पिछले एक्सेल पैकेजों की तुलना में यह कितना बेहतर है, लेकिन दूसरों के मुकाबले इस पैकेज के साथ काम करने में आपको कितना सहज महसूस होता है।

आइए इसे एक उदाहरण की मदद से समझते हैं जिसमें आप पायथन कोड का उपयोग करके मैन्युअल रूप से कार्यपुस्तिका बनाएंगे और इसके लिए डेटा लिखेंगे:

# Import `xlwt`
import xlwt
# Initialize a workbook
guide = xlwt.Workbook(encoding="utf-8")
# Upload a sheet to the workbook
sheet1 = guide.add_sheet("Python Sheet 1")
# Write to the sheet of the workbook
sheet1.write(0, 0, "This is the First Cell of the First Sheet")
# Save the workbook
guide.save("spreadsheet.xls")

डेटा लेखन प्रक्रिया को स्वचालित करना

एक्सेल फ़ाइल में डेटा लेखन प्रक्रिया को स्वचालित करना आवश्यक है, खासकर जब आप फ़ाइल में डेटा लिखना चाहते हैं, लेकिन साथ ही फ़ाइल में मैन्युअल रूप से डेटा दर्ज करने के लिए समय नहीं बिताना चाहते हैं। ऐसे परिदृश्यों में, आप बहुत सरल तकनीकों का उपयोग करके पूरी पाइपलाइन को स्वचालित कर सकते हैं जैसे कि for पाश।

आइए समझते हैं कि इसे कैसे प्राप्त किया जा सकता है:

# Initialize a workbook
guide = xlwt.Workbook()
# Upload a sheet to the workbook
sheet1 = guide.add_sheet("Sheet1")
# The knowledge
cols = ["A", "B", "C", "D", "E"]
txt = [0,1,2,3,4]
# Loop over the rows and columns and fill within the values
for num in vary(5):
      row = sheet1.row(num)
      for index, col in enumerate(cols):
          price = txt[index] + num
          row.write(index, price)
# Save the end result
guide.save("test.xls")

चलो उपरोक्त कोड को तोड़ दें और इसे चरण-दर-चरण समझें:

  • आप पहली बार किसी कार्यपुस्तिका का उपयोग करके आरंभ करते हैं xlwt.workbook();

  • फिर आप नाम के साथ वर्कबुक में एक शीट जोड़ते हैं Sheet1;

  • फिर आप डेटा को परिभाषित करते हैं, अर्थात, शीर्ष लेख (कॉल) और पंक्तियाँ (txt);

  • अगला, आपके पास एक लूप है जो डेटा पर पुनरावृत्त करेगा और सभी मानों को फ़ाइल में भर देगा:

    • Zero से Four तक के प्रत्येक तत्व के लिए, आप पंक्ति द्वारा मान पंक्ति में भरने जा रहे हैं।
    • आप निर्दिष्ट करें row वह तत्व जो प्रत्येक लूप वेतन वृद्धि पर अगली पंक्ति में जाता है।
    • अगला, आपके पास लूप के लिए एक और है कि प्रत्येक पंक्ति के लिए आपकी शीट के सभी कॉलम खत्म हो जाते हैं।
    • आप उस पंक्ति के प्रत्येक कॉलम के लिए एक मूल्य भरेंगे।
  • जब आपने प्रत्येक पंक्ति के सभी स्तंभों को मानों से भर दिया है, तो आप अगली पंक्ति तक चले जाएंगे जब तक कि आपके पास शून्य पंक्तियाँ शेष न हों।

उपरोक्त कोड का आउटपुट नीचे दिखाया गया है:

Pxxcel को पढ़ने के लिए .xls या .xlsx फ़ाइलों का उपयोग करना

pyexcel एक पायथन आवरण है जो डेटा को पढ़ने, हेरफेर करने और लिखने के लिए एकल एपीआई इंटरफ़ेस प्रदान करता है .csv, .ods, .xls, .xlsx, And .xlsm फ़ाइलें। साथ में pyexcelएक्सेल फाइलों में डेटा को न्यूनतम कोड के साथ एक सरणी या तानाशाही प्रारूप में बदल दिया जा सकता है।

नीचे एक उदाहरण दिया गया है कि आप अपने एक्सेल डेटा का उपयोग करके एक सरणी प्रारूप में कैसे परिवर्तित कर सकते हैं get_array() यह एक कार्य है pyexcel पैकेज:

# Import `pyexcel`
import pyexcel
# Get an array from the information
my_array = pyexcel.get_array(file_name="test.xls")

आइए जानें कि आप अपने एक्सेल डेटा को सूचियों के ऑर्डर किए गए शब्दकोश में कैसे बदल सकते हैं। इसे प्राप्त करने के लिए आप इसका उपयोग कर सकते हैं get_dict() कार्य, और यह भी भीतर आता है pyexcel पैकेज:

# Import `OrderedDict` module
from pyexcel._compact import OrderedDict
# Get your knowledge in an ordered dictionary of lists
my_dict = pyexcel.get_dict(file_name="test.xls", name_columns_by_row=0)

आप द्वि-आयामी सरणियों का शब्दकोश भी प्राप्त कर सकते हैं। इसे सीधे शब्दों में कहें, तो आप एक ही शब्दकोश में सभी कार्यपुस्तिकाओं को एक शब्दकोश में निकाल सकते हैं get_book_dict() समारोह।

# Get your knowledge in a dictionary of 2D arrays
book_dict = pyexcel.get_book_dict(file_name="test.xls")

अपने जीवन को आसान बनाने के लिए, याद रखें कि उपरोक्त दो आउटपुट, my_dict, And book_dict, का उपयोग कर एक DataFrame में परिवर्तित किया जा सकता है pd.DataFrame(). इससे आपको अपना डेटा संभालना आसान हो जाएगा!

यह जानने के लिए कि आप कुशलतापूर्वक पायथन सूचियों के साथ कैसे काम कर सकते हैं, डेटाकैम्प की जाँच करें 18 सबसे आम पायथन सूची प्रश्न.

Pyexcel के साथ फाइल लिखना

जैसे इस पैकेज के साथ अपने डेटा को सरणियों में लोड करना आसान है, वैसे ही आप अपने सरणियों को स्प्रेडशीट में भी आसानी से निर्यात कर सकते हैं। आप इसका उपयोग करके प्राप्त कर सकते हैं save_as() फ़ंक्शन और पास और गंतव्य फ़ाइल नाम को पास करें dest_file_name नीचे दिखाए अनुसार तर्क:

# Get the information
knowledge = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
# Save the array to a report
pyexcel.save_as(array=knowledge, dest_file_name="array_data.xls")

ध्यान दें कि यदि आप एक सीमांकक निर्दिष्ट करना चाहते हैं, तो आप जोड़ सकते हैं dest_delimiter तर्क और उस प्रतीक को पास करें जिसे आप एक सीमांकक के रूप में उपयोग करना चाहते हैं t, ,, "".

यदि आपके पास एक शब्दकोश है, तो आपको इसका उपयोग करने की आवश्यकता होगी save_book_as() समारोह। टू-डायमेंशनल डिक्शनरी पास करें bookdict और फ़ाइल का नाम निर्दिष्ट करें और आप जाने के लिए अच्छे हैं:

# The knowledge
2d_array_dictionary = 'Sheet 1': [
                                   ['ID', 'AGE', 'SCORE']
                                   [1, 22, 5],
                                   [2, 15, 6],
                                   [3, 28, 9]
                                  ],
                       'Sheet 2': [
                                    ['X', 'Y', 'Z'],
                                    [1, 2, 3],
                                    [4, 5, 6]
                                    [7, 8, 9]
                                  ],
                       'Sheet 3': [
                                    ['M', 'N', 'O', 'P'],
                                    [10, 11, 12, 13],
                                    [14, 15, 16, 17]
                                    [18, 19, 20, 21]
                                   ]
# Save the information to a report
pyexcel.save_book_as(bookdict=2d_array_dictionary, dest_file_name="2d_array_data.xls")

ध्यान दें कि शब्दकोश में आपके डेटा का क्रम उपरोक्त कोड में नहीं रखा जाएगा। यदि आप ऐसा नहीं चाहते हैं, तो आपको एक छोटा संशोधन करना होगा। आप इसके बारे में सब पढ़ सकते हैं right here.

पढ़ना और लिखना .csv फाइलें

पुस्तकालयों के एक अलग सेट के साथ इसी तरह के कार्यों को प्राप्त करने के लिए अजगर की भारी मात्रा में पैकेज हैं। इसलिए, यदि आप अभी भी ऐसे पैकेज की तलाश कर रहे हैं जो आपको डेटा लोड करने, पढ़ने और लिखने की अनुमति दें .csv एक्सेल पैकेज और पंडों के अलावा फाइलें, आप का उपयोग करने पर विचार कर सकते हैं CSV पैकेज के रूप में नीचे दिए गए कोड सेल में दिखाया गया है:

# import `csv`
import csv
# Learn in csv report
for row in csv.reader(open('knowledge.csv'), delimiter=","):
      print(row)
# Write csv report
knowledge = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
outfile = open('knowledge.csv', 'w')
creator = csv.creator(outfile, delimiter=";", quotechar=""")
creator.writerows(knowledge)
outfile.shut()

डेटा की अंतिम जाँच

जब आपके पास डेटा उपलब्ध होता है, तो आमतौर पर यह जांचने की सिफारिश की जाती है कि डेटा सही तरीके से लोड किया गया है या नहीं। यदि आपने अपना डेटा एक DataFrame में रखा है, तो आप आसानी से और जल्दी से जांच सकते हैं कि डेटा को चलाकर अपेक्षित रूप से लोड किया गया है या नहीं head() And tail() कार्य करता है। head() जबकि डेटा फ्रेम की पहली कुछ पंक्तियों का उत्पादन करेगा tail() डेटा फ़्रेम की अंतिम कुछ पंक्तियों को आउटपुट करेगा।

# Take a look at the primary entries of the DataFrame
df1.head()
# Take a look at the remaining entries of the DataFrame
df1.tail()

युक्ति: डेटाकैम्प का उपयोग करें पंडों को धोखा यह तब काम आएगा जब आप पंडों डेटाफ्रैम के रूप में फाइल लोड कर रहे हों। पायथन डेटाफ्रेम में हेरफेर करने के तरीके के बारे में अधिक मार्गदर्शन के लिए, हमारे ले पंडों का ट्यूटोरियल: पायथन में डेटाफ्रेम.

आइए डेटा फ्रेम के आकार, आयाम और डेटा प्रकार की जांच करें knowledge:

# Investigate cross-check the form
knowledge.form
# Investigate cross-check the collection of dimensions
knowledge.ndim
# Investigate cross-check the information sort
knowledge.dtype

यदि आप इस बारे में अधिक जानना चाहते हैं कि आप डेटा विश्लेषण के लिए NumPy सरणियों का लाभ कैसे उठा सकते हैं, तो हमारे बारे में सोचें NumPy ट्यूटोरियल, और हमारे गोल्डन का उपयोग करना मत भूलना न्यूमपी चेट शीट!

निष्कर्ष

इस ट्यूटोरियल को पूरा करने के लिए बधाई!

आप सफलतापूर्वक हमारे ट्यूटोरियल के माध्यम से चले गए हैं जो आपको सभी सिखाता है कि पायथन में एक्सेल फाइल कैसे पढ़ें।

लेकिन डेटा आयात करना आपके डेटा विज्ञान वर्कफ़्लो की शुरुआत है। एक बार जब आपके पास आपके वातावरण में स्प्रेडशीट का डेटा होता है, तो आप किन मामलों पर ध्यान केंद्रित कर सकते हैं: अपने डेटा का विश्लेषण करना। यदि आपने अपना डेटा DataFrames में लोड किया है, तो हमारा विचार करें पंडों की नींव पाठ्यक्रम या पंडों के साथ डाटाफ्रेम का हेरफेर पाठ्यक्रम।

हालाँकि, यदि आप इस विषय पर काम करना जारी रखना चाहते हैं, तो जाँच करने पर विचार करें PyXll, जो आपको पायथन में फ़ंक्शन लिखने और उन्हें एक्सेल में कॉल करने में सक्षम बनाता है।

.



Supply hyperlink

1 Comment

Leave a Reply

%d bloggers like this: