Thank you for taking the first step to becoming a knowledgeable and experienced Excel developer. You will learn how to manually create data in Excel and how to import data from various flat files, such as text, CSV, and Excel. By the end of this chapter, we will learn how to consume data from the Web.
Before we get started with Excel, let's go through the data analysis life cycle. These are the steps that should be taken every time you perform some sort of data analysis. The steps include gathering, preparing, analyzing, and presenting data. While you may not always be responsible for every step in the data analysis life cycle, every step is dependent on each other. Enough talking, let's take a moment to define each step.
Gathering data is exactly what it sounds like; in this step, you will be gathering all of the data you need for analysis. This might include data that you get from your client, boss, coworker, the Internet, or a database. There are other data sources, such as CSV files, but remember that it is your job to find the data. I once had a client asking me "Can you take a look at my code as it is not working?" He was trying to map some data into Google Maps and he was having trouble doing this. He sent me code snippets and asked me if I could figure out what the problem was. I took a look at his work, but I just did not have enough information to debug the issue. Guess what my next question to my client was? "Send me your code and the data you are trying to plot." Knowing what kind of data my client was working with and what the code was doing with the data were the two key questions that I needed to know.
I eventually figured out the issue for my client, but the point here is to show you that getting the data in your hands is the first step. Chapter 1, Getting Data into Excel, and Chapter 2, Connecting to Databases, will focus on providing you with all the skills needed to bring data from various sources into Excel.
You will soon realize that after you gather your data, it does not always come in a neat package for you. For example, you may be given a PDF document with 1,000 entries and asked to transfer that data into an Excel spreadsheet. You might get lucky and be able to copy/paste the records into Excel, or you might be forced to manually enter each record by hand. I used to work for a wholesaler of college text books and faced a similar situation. I needed to copy a very large PDF document and transfer its content to Excel. I remember refusing to do so and asking a coworker to put this data in a different format. I was trying everything under my control to avoid that PDF file. Unfortunately, in the end I had no choice but to roll up my sleeves and get the job done. As a data analyst, you would probably spend most of your time in the data analysis life cycle cleaning the data. In other words, you will gather data and organize it in a format you can work with. Munging and data wrangling are other terms you may hear that refer to this step of the process. Other common issues are numbers formatted as strings, missing values, extra spaces, and so on. We will go through various examples of the ones mentioned and their solutions in Chapter 3, How to Clean Texts, Numbers, and Dates, and Chapter 4, Using Formulas to Prepare Your Data for Analysis.
After you gather and prepare your data, you are now ready to analyze it. Your main goal up until now was to get your data into Excel; this is our comfort zone where we know we can work with data. What do I mean when I say analyze your data? Well, this means that it is time to get your inquisitive and curious hats on. If you don't have any of these, then it is time to act like a detective, Inspector Gadget style (if you're old enough to remember who he is). In this step, we begin with inspecting every column one by one. For example, let's say that the first column was called Revenue and the second column was called Product Name. We would expect the Revenue column to have numbers in each of the values and the Product Name column to have strings as the values associated with this column. We will then look for any missing values, the largest number, and the smallest value. We might also take a look at the distinct values in the Product Name column and look for any misspelled words.
Are you trying to solve a problem? Are you trying to predict the next year's revenue? Did you ask for some background of the task you were assigned to do? Remember to ask all these questions to whoever is going to receive your analysis for feedback along the way. The last thing that you might avoid is that when you complete the analysis, you are told that you were analyzing or solving the wrong problem. You may also spend a lot of time figuring out what certain columns mean if you actually have the data to complete the task. Chapter 5, Analyzing Your Data Using Descriptive Statistics and Charts, Chapter 6, Link Your Data Using Data Models, and Chapter 7, A Primer on Using the Excel Solver, will give you enough exposure to analyzing and squeezing out insights from your data.
This is where the fun begins; you are now at a point where you can tell your story. At this point, you should know everything about your data, such as where it came from and how it was prepared or organized, and you should have completed the task you were assigned, at least in theory. For example, if you were asked to simply create a line chart with the monthly sales for the year, then this is where you should be at this stage. The data should be in Excel, the sales data should be aggregated on a monthly basis, and you should already have an idea of how to create and place your line chart. Before you spend an hour or so making your final spreadsheet look good, create a simple mockup and get feedback from your end user. I know that this is not always applicable to every situation, but getting feedback along the way will save you a lot of time from redoing the work at a later stage. Another little known fact is that people just change their minds or sometimes change their requirements, so always build your spreadsheets as flexible as possible. In our example, you may be asked to switch the data from quarterly to monthly for an analysis at the last minute. They may want the data over the past 5 years and a bar chart instead of a line chart. My advice to you is very simple; expect changes every single time. Luckily, Excel has many wonderful tools to help you spin up interactive and visually impressive workbooks. In Chapter 9, How to Build and Style Your Charts, and Chapter 10, Creating Interactive Spreadsheets Using Tables and Slicers, we will go through all these neat features that will equip you with the necessary knowledge to further enhance your skills.
First, fire up Excel 2013 and create a new spreadsheet. We will begin with creating some data manually as an introduction to gathering data. We will begin with typing in cell A1, as shown in the following screenshot:
We are now going to apply styles to the column headings so that they stand out. Highlight columns A1 and B1 and press Ctrl + B. This action will make the two strings that we selected bold. Another option is to highlight the cells and click on the Bold button in the toolbar, as shown in the following screenshot:
For our finishing touches, we can apply styles to our data by adding borders around the cells. We can accomplish this by highlighting the cells A1 through B5 and clicking on the Borders button. This will bring up a new menu. Select All Borders. Remember that you need to first highlight the cells you want to add the borders to. Refer to the following screenshot:
Congratulations! You have just learned how to enter numbers, strings, and column headers in an Excel spreadsheet. You have also learned how to apply styles to the text and cells using various built-in Excel functions. You can think of this as your first Hello World program in Excel 2013. Your final output should look like this:
Importing data from a text file
Importing a CSV file
Importing other Excel files
Importing data from the Web
There are times when data comes in a text file, and to be honest, this can be a scary thing. I am saying this because data that comes in a text file can be formatted in many ways, and you never know what you are going to get. Luckily, most of the time you will get comma-separated data and this is something Excel can consume pretty easily. Let's start with creating our own text file and then importing it into Excel:
Open Notepad or a similar text editor. Copy and paste the following chunk of data into the text file, as shown in the following screenshot:
Then, save the file as
data.txton your desktop.
Downloading the example code
You can download the example code files from your account at http://www.packtpub.com for all the Packt Publishing books you have purchased. If you purchased this book elsewhere, you can visit http://www.packtpub.com/support and register to have the files e-mailed directly to you.
Now, open Excel and create a new workbook. Go to the DATA tab and click on the From Text button, as shown in the following screenshot:
You will now see a dialog box, as shown in the following screenshot. This dialog box will ask you how your data has been formatted. By default, you will have the Delimited option selected. This means that your data is separated by some characters such as spaces, commas, and semicolons. In our example, the values in the
data.txtfile are separated by commas. There are other options, but 99 percent of the time, you can just click on the Next button.
Step two of the import wizard will now ask you to select the delimiter or the character that separates each of the values you are trying to import. Make sure that you click on the Comma delimiter and remove any other options that may have been checked automatically.
Now, let's take a look at the Data preview area in the following screenshot. This area will show you a few records of how Excel plans to parse the data. As shown in the following screenshot, we can see that by choosing the Comma delimiter, Excel correctly splits the data into two columns. We can now click on the Finish button.
The last dialog box will ask you to select where you want to paste the data. The default value is A1 and this is usually the cell you would like to insert the data into. At this point, you also have the option to paste your data into a new worksheet by choosing this option in the dialog box.
The acronym CSV means comma-separated values. What this means to us is that when we use the Text Import Wizard, we need to select Comma as the delimiter. To import a CSV file, the steps are exactly the same as those in the Manually creating data section; however, the
data.txt file is not a CSV file. A CSV file can be identified by its filename ending in
If you perform the same steps that we just learned to import a text or a CSV file into an Excel workbook, then all that Excel does is open the file you are trying to import. It will not ask you for a delimiter, it will not open the Text Import Wizard, and it will simply open the Excel file. Let's go through a simple example to show you how to correctly merge multiple Excel files:
Make two separate Excel files using the same techniques, as shown in the Manually creating data section. Split the dataset that we have been using, create one spreadsheet with the Revenue column, and create a second spreadsheet with the Name column.
File one should be called
one.xlsxand the file will look like this:
File two should be called
two.xlsxand will look similar to the following screenshot:
Now, let's pause and see what we are trying to do here with the two files. The goal is to combine them into one file. There are two methods that we can use, so let's start with the easiest one.
In the first method, open the
two.xlsxfiles. Using the
two.xlsxfile, highlight columns A1 through A5. Press Ctrl + C to copy the selected cells. Now, switch to the
one.xlsxfile and select column B1. Press Ctrl + V to paste the data. Your spreadsheet should now look like the following screenshot:
Congratulations! At this point, you can save the file as
final.xlsxand you are all done. You have combined two different Excel workbooks into one.
The second method involves using an Excel feature that you will often use in different situations. Let's go through the following steps, and then, I will explain the benefits of using this technique:
The Move or Copy dialog box will appear. Select the workbook that you plan to move the data to. In this case, it is going to be
01 – Chapter – two.xls. Make sure that you have the second workbook open, or you will not be able to see this option in the drop-down menu. In the next section named Before sheet, select the option called (move to end), check the Create a copy checkbox, and click on the OK button, as shown here:
You will now have your second spreadsheet with two tabs: one named Sheet 1 that holds your original data and another one named Sheet 1 (2) that holds the data we just imported from the first spreadsheet. From here on, we can just employ the first technique and combine both the datasets. Good job!
What was so different about the second method? This method gives us options and that is the key. We currently have a spreadsheet that contains the raw data from each of the two workbooks. We can then create a third spreadsheet or a third tab that holds the data from the two datasets. If we make any mistakes, we can simply remake the third tab/spreadsheet, as our original data is still intact. We can also filter the data of our two original datasets before we combine any data. In practice, you will notice that you will be performing a unique combination of these two methods, depending on your dataset and the problem you are trying to solve.
Here, we will learn how to grab data from the Web. This is the least common task that you will be asked to perform from the previous lessons but taking a look at how it is done is worth your time. We will go through a typical scenario in the following steps:
Open Excel 2013 and create a new spreadsheet. The next steps will involve opening a web page in Excel and extracting data from a table found on the website. We will start with selecting the DATA tab and clicking on the From Web button, as shown in the following screenshot:
A dialog box will appear. In the Address textbox, type http://pandasbootcamp.herokuapp.com and click on the Go button. After the page has been loaded, you will see a similar new web query dialog box, as shown in the following screenshot:
You will notice that in several places, on the website, you can see a yellow square with a single back arrow, as shown in the following screenshot. This button tells you that Excel has found a table on the website. This button also tells you that you can grab the contents of the table and import them into your spreadsheet. What do we mean by saying that the website has a table on it? This is outside the scope of this book, as the answer requires you to know HTML. But for your reference, Excel looks for HTML
<table>tags to identify tables on a website.
Scroll down to the end of the web page and then click on the last button and Import button, as shown in the following screenshot. Why did we choose to select the last button and not the first one? In this example, there were two buttons to choose from. Sometimes, the button will be right next to the table that you are interested in, and at other times, you will have to complete the task by trial and error.
Notice that the yellow button will change to a green checkbox. After you click on the Import button, you will get a new dialog box that will ask you where you want to paste the data, as shown in the following screenshot. The cell A1 is usually the default location selected, but you may change the location if you wish.
At this point, Excel will grab the data from the website, and you will have a worksheet that looks similar to the following screenshot. You should have 50 records, but they do not have to match the ones in the following screenshot:
Good job! You have just imported data from a website effortlessly, thanks to Excel's robust tools that helped you get the job done as easily and quickly as possible. The advantage of grabbing the data using the previous steps is that if there are any changes in the data on the website, we can easily update our spreadsheet to match any new changes. If we simply copy and paste the data from the website into Excel, we would have to perform these same steps every time the data changes. The Pandas Bootcamp website actually changes data every time you refresh the web browser. Try it!
This means that if we ask Excel to refresh or to check whether the website has any new data, it will update our spreadsheet with the new data. Let's give it a try.
Right-click on cell A1 or any other cell with data. Go to the menu bar, and click on the Refresh button, as shown in the following screenshot. Your data should have changed! This feature will allow your data to always be in sync with just a few clicks.
The lessons in this chapter were designed to teach you how to gather data from various data sources. You should now be able to pull data from text files, CSV files, other Excel files, and web pages. Getting data in your hands is the first step in the data analysis life cycle, and you now have the skills needed for this process. In the next chapter, we will take a look at the last set of data gathering skills that all data analysts should be equipped with. Chapter 2, Connecting to Databases, will guide you through detailed step-by-step instructions on how to connect to Microsoft SQL Server databases using Excel's data connection tools.