Write a Python Pandas DataFrame to a CSV file

David Y.
jump to solution

The Problem

Using Python, how can I create a CSV file from a Pandas DataFrame? My DataFrame contains Unicode characters. Also, is there a way to use a character other than a comma as a delimiter?

The Solution

We can do this using the DataFrame object’s to_csv method, which provides several optional keyword arguments for handling different inputs and modifying its output. For example:

import pandas as pd

data = {
    "Name": ["Alice", "Bob", "André"],
    "Age": [30, 25, 35],
    "City": ["New York", "Paris", "London"],
}

df = pd.DataFrame(data)

df.to_csv("people.csv", index=False, encoding="utf-8", sep=";")

After creating our DataFrame, we save it to people.csv, using the following keyword arguments:

  • index=False: this will prevent the DataFrame’s row labels from being included in the CSV file.
  • encoding="utf-8": this ensures that the file is saved with UTF-8 encoding, preserving the Unicode character in “André.”
  • sep=";": this tells our function to create a CSV file that uses semicolons rather than commas as delimiters.

Our people.csv file should look like this:

Name;Age;City
Alice;30;New York
Bob;25;Paris
André;35;London
Check if a list is empty in Python
David Y.
Concatenate two lists in Python
David Y.
Slicing in Python
David Y.

Considered "not bad" by 4 million developers and more than 150,000 organizations worldwide, Sentry provides code-level observability to many of the world's best-known companies like Disney, Peloton, Cloudflare, Eventbrite, Slack, Supercell, and Rockstar Games. Each month we process billions of exceptions from the most popular products on the internet.

Sentry