Write a Python Pandas DataFrame to a CSV file
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
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.