python requests post csv file

Python Requests Post CSV File

If you want to post a CSV file using Python Requests library, then you can do it by following these steps:

Step 1: Import Required Libraries

import requests
import csv

Step 2: Read CSV File

You need to read the CSV file using the csv library. You can then store the data in a list or a dictionary, depending on your requirements.

with open('file.csv', 'r') as file:
    reader = csv.reader(file)
    data = [row for row in reader]

Step 3: Post CSV File

You can use the requests library to post the CSV file. You need to specify the URL where you want to post the data and the data that you want to post.

url = ''
response =, data=data)

The 'data' parameter in the post request should be in the format that the API endpoint expects. If the API endpoint expects JSON data, then you need to convert the CSV data to JSON format before posting it.

Alternate Way: Post CSV File as Multipart Form Data

If the API endpoint expects form data instead of JSON data, then you can post the CSV file as multipart form data using the requests library.

url = ''
with open('file.csv', 'rb') as file:
    response =, files={'file': file})

In this method, you need to specify the file parameter in the post request as a dictionary with key 'file' and value as the file object.


Python Requests library provides an easy way to post CSV files to API endpoints. You can use either of the methods mentioned above depending on the API endpoint requirements.