How To Upload A CSV File In Python
Tags: upload, csv, python, file
Published: 2022-07-01 20:56:02

Are you stuck with CSV file upload in Python? Then you are in the right place. This tutorial will walk you through different ways to import a CSV file into Python. Finally, we’ll explore how to upload a CSV file in python with the Filestack’s [Python upload file](https://www.filestack.com/products/file-upload/).

Let’s start!

**Table of Contents**

- [What is a CSV, and why is it essential in a Python upload file?](https://blog.filestack.com/tutorials/upload-csv-file-python/#What_is_a_CSV_and_why_is_it_essential_in_a_Python_upload_file)
- [Python upload file: Step 1# How to capture the file path?](https://blog.filestack.com/tutorials/upload-csv-file-python/#Python_upload_file_Step_1_How_to_capture_the_file_path)
- [Python upload file: Step 2# How to apply the Python code?](https://blog.filestack.com/tutorials/upload-csv-file-python/#Python_upload_file_Step_2_How_to_apply_the_Python_code)
- [Python upload file: Step 3# How to run the Code?](https://blog.filestack.com/tutorials/upload-csv-file-python/#Python_upload_file_Step_3_How_to_run_the_Code)
- [Optional Step: Do I need to select subset of columns?](https://blog.filestack.com/tutorials/upload-csv-file-python/#Optional_Step_Do_I_need_to_select_subset_of_columns)
- [Prerequisite:](https://blog.filestack.com/tutorials/upload-csv-file-python/#Prerequisite)
- [What do we need for a Python upload file in Filestack?](https://blog.filestack.com/tutorials/upload-csv-file-python/#What_do_we_need_for_a_python_upload_file_in_Filestack)
- [How to obtain the SDK?](https://blog.filestack.com/tutorials/upload-csv-file-python/#How_to_obtain_the_SDK)
- [How to use the SDK?](https://blog.filestack.com/tutorials/upload-csv-file-python/#How_to_use_the_SDK)
- [Are you ready for CSV file upload in Python?](https://blog.filestack.com/tutorials/upload-csv-file-python/#Are_you_ready_for_CSV_file_upload_in_Python)

### What is a CSV, and why is it essential in a Python upload file?

CSV stands for “Comma Separated Values”; commas separate these values. This file can be view like as an excel file. It is the simplest form of storing data in tabular form as plain text. Data scientists need to deal with massive datasets while analyzing the data, which usually can get in CSV file format[1]. So, they need to know how to upload a CSV file [2].

In [Python](https://www.python.org/), Pandas is the most critical library coming to data science. Let’s see the different options to import CSV files in Pandas[3][4].

Next, we’ll see an example with the steps needed to import your file.

**Importing the data into Python:** 

Let’s begin with an example where you have the following client list and some additional sales information stored in a CSV file (where the file name is ‘Clients ‘):

![python-file-upload_import](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/4pczhhe65wyxlpuaw6ww.png)
 
Here are the steps to Import a CSV File into Python using Pandas:

### Python upload file: Step 1# How to capture the file path?

First, you need to capture the full path where your CSV file is stored.

For example, suppose a CSV file is stored in the following path:

C:\Users\Ron\Desktop\Clients.CSV

You’ll need to modify the Python code below to reflect the path where the CSV file is stored on your computer. Don’t forget to include the following:

- File name (as clients). Remember, you can choose a different file name, but make sure that the file name specified in the Code matches the actual file name.
- File extension (as .csv).
When importing CSV files, the file extension should always be .csv’.

### Python upload file: Step 2# How to apply the Python code?

Write the following lines of code into Python while making the necessary changes to your path.

For example (you can find additional comments within the Code itself):

```
import pandas as pd

df = pd.read_csv (r'C:\Users\Ron\Desktop\Clients.csv')   #read the csv file (put 'r' before the path string to address any special characters in the path, such as '\'). Don't forget to put the file name at the end of the path + ".csv"
print (df)
```

### Python upload file: Step 3# How to run the Code?

Finally, run the Python code, and you’ll get the following:

![python-file-upload_run](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/khnjg3tflozhr3u2sj6l.png)

### Optional Step: Do I need to select subset of columns?

What do we have to do if you want to select a subset of columns from the CSV file?

For example, you want to select only the Person Name and Country columns. In this case, you can specify those columns’ names as captured below:

```
import pandas as pd

data = pd.read_csv (r'C:\Users\Ron\Desktop\Clients.csv')   
df = pd.DataFrame(data, columns= ['Person Name','Country'])
print (df)

```
You have to make sure that the column names specified in the Code exactly match the column names within the CSV file. Otherwise, you’ll get NaN values.

Once you’re ready to go, run the Code (after adjusting the file path), and you will get only the Person Name and Country columns:

![python-file-upload_result](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/u0c3hcry4au3pmw8s0g2.png)

That’s it!

You have learned the basics of CSV file import with Python. Next, we’ll show you how Filestack can be your reliable CSV file uploader.

> As a developer building a top-notch app is not the end. Probably you deserve a superb user experience when they upload, transform, and share their content. It means providing them with reliable, resumable, fast uploads. It means everything from converting files from one format to another optimizing the delivery from a robust, distributed CDN. From the business perspective, when you can use filestack API or Filestack SDK for your file upload solution, why should you build everything from scratch? Here comes the Filestack. So, what are you waiting for? Use Filestack’s Python SDK to upload and convert CSV files effortlessly!

To upload a CSV file in python from [your local storage](https://blog.filestack.com/content-cookbook/upload-files-with-python/) or from an [URL](https://blog.filestack.com/content-cookbook/upload-files-site-url-python/) has a different procedure. Here we’ll show you how to upload any file by URL on your back end in Python?

### **Prerequisite:**

### What do we need for a Python upload file in Filestack?

- Python
- Pip
- A Filestack API Key ( You get a free 2-week trial if you need one)

**How to obtain the SDK?**

Using pip, run the following command:

`$ pip install filestack-python`

**How to use the SDK?**

Once filestack python SDK installation is complete, create your python script with the .py extension. For example, python-url.py, edit that file and then start with an import of the Client from the [Filestack Python SDK](https://github.com/filestack/filestack-python/). You have run that pip installs command, right? For more information about filestack installation please visit https://www.filestack.com/docs/api/sdk/python/#installation

Import it like this:

`from filestack import Client`

Now we’ll pass our APIKEY to the Client:

`client = Client('APIKEY')`

Remember, unlike the JavaScript and PHP SDKs, the Python SDK uses Client. upload for both file paths and URLs, but for sure, you need to name your args with keywords. For example, If you have your file on your local drive and want to upload it in Python, you’d write this Code:

`new_filelink = client.upload(filepath="python.png")`

Instead of uploading via URL with this:

`new_filelink = client.upload(url="https://cdn.filestackcontent.com/NOys4RVMTyaaM7qfu8QO")
`
Here’s a clean little Python script: python.url.py:

```
# -*- coding: utf-8 -*-
from filestack import Client
client = Client('APIKEYGOESHERE')
new_filelink = client.upload(url="https://cdn.filestackcontent.com/NOys4RVMTyaaM7qfu8QO")
print(new_filelink.url)

```
It’s printing out the full URL with File Handle to the resulting upload. That file gets copied into your Filestack app on your account; it’s not just a link or anything. Make sure you’re keeping track of those file handles, especially if your users are the ones uploading things. You don’t want to forget which files go with which users!

That’s all!

### Are you ready for CSV file upload in Python?

It is just a tiny peek at what you can do with Filestack’s Python SDK for python file upload. To learn more, check out https://www.filestack.com/products/file-upload/ and explore our [docs](https://github.com/filestack/filestack-python/) for detailed features and implementation instructions.

What are you still waiting for? You can [sign up](https://dev.filestack.com/signup/free/) now and experience a python file upload with Filestack.

 

**Reference**

https://docs.python.org/2/library/csv.html
https://community.woosmap.com/manage-assets/upload-csv-file/
https://pandas.pydata.org/
https://www.geeksforgeeks.org/different-ways-to-import-csv-file-in-pandas/