Escrever um Pandas DataFrame para CSV

  1. A sintaxe de pandas.DataFrame.to_csv() função
  2. Escrever um DataFrame em ficheiro CSV utilizando a função pandas.DataFrame.to_csv() Função
  3. Escrever um DataFrame no ficheiro CSV utilizando a função pandas.DataFrame.to_csv() Ignorando os Índices
  4. Especificar um Separador no pandas.DataFrame.to_csv() Função
Escrever um Pandas DataFrame para CSV

Este tutorial explica como podemos escrever um DataFrame num ficheiro CSV utilizando a função pandas.DataFrame.to_csv(). A função pandas.DataFrame.to_csv() escreve as entradas de DataFrame num ficheiro CSV.

A sintaxe de pandas.DataFrame.to_csv() função

pandas.DataFrame.to_csv(  path_or_buf=None,  sep=",",  na_rep="",  float_format=None,  columns=None,  header=True,  index=True,  index_label=None,  mode="w",  encoding=None,  compression="infer",  quoting=None,  quotechar='""',  line_terminator=None,  chunksize=None,  date_format=None,  doublequote=True,  escapechar=None,  decimal=".", ) 

Escrever um DataFrame em ficheiro CSV utilizando a função pandas.DataFrame.to_csv() Função

import pandas as pd  mid_term_marks = {  "Student": ["Kamal", "Arun", "David", "Thomas", "Steven"],  "Economics": [10, 8, 6, 5, 8],  "Fine Arts": [7, 8, 5, 9, 6],  "Mathematics": [7, 3, 5, 8, 5], }   mid_term_marks_df = pd.DataFrame(mid_term_marks)  print(mid_term_marks_df) 

Resultado:

 Student Economics Fine Arts Mathematics 0 Kamal 10 7 7 1 Arun 8 8 3 2 David 6 5 5 3 Thomas 5 9 8 4 Steven 8 6 5 

Depois escreveremos a DataFrame mid_term_marks_df num ficheiro CSV.

import pandas as pd  mid_term_marks = {  "Student": ["Kamal", "Arun", "David", "Thomas", "Steven"],  "Economics": [10, 8, 6, 5, 8],  "Fine Arts": [7, 8, 5, 9, 6],  "Mathematics": [7, 3, 5, 8, 5], }   mid_term_marks_df = pd.DataFrame(mid_term_marks)  mid_term_marks_df.to_csv("midterm.csv") 

Criará um ficheiro chamado midterm.csv e escreverá os valores DataFrame no ficheiro onde os valores adjacentes numa linha são separados por uma vírgula ,.

O conteúdo do ficheiro midterm.csv será:

,Student,Economics,Fine Arts,Mathematics 0,Kamal,10,7,7 1,Arun,8,8,3 2,David,6,5,5 3,Thomas,5,9,8 4,Steven,8,6,5 

Por defeito, a função pandas.DataFrame.to_csv() também escreve os índices de DataFrame no CSV, mas o índice pode nem sempre ser útil em todos os casos.

Escrever um DataFrame no ficheiro CSV utilizando a função pandas.DataFrame.to_csv() Ignorando os Índices

Para ignorar os índices, podemos definir index=False na função pandas.DataFrame.to_csv().

import pandas as pd  mid_term_marks = {  "Student": ["Kamal", "Arun", "David", "Thomas", "Steven"],  "Economics": [10, 8, 6, 5, 8],  "Fine Arts": [7, 8, 5, 9, 6],  "Mathematics": [7, 3, 5, 8, 5], }   mid_term_marks_df = pd.DataFrame(mid_term_marks)  mid_term_marks_df.to_csv("midterm.csv", index=False) 

Neste caso, o conteúdo do ficheiro midterm.csv será:

Student,Economics,Fine Arts,Mathematics Kamal,10,7,7 Arun,8,8,3 David,6,5,5 Thomas,5,9,8 Steven,8,6,5 

Por vezes podemos obter UnicodeEncodeError enquanto escrevemos o conteúdo de um DataFrame num ficheiro CSV. Nesses casos, podemos definir encoding='utf-8' que permite o formato de codificação utf-8.

Especificar um Separador no pandas.DataFrame.to_csv() Função

Por defeito, enquanto se escreve o DataFrame num ficheiro CSV, os valores são separados por uma vírgula. Se quisermos utilizar qualquer outro símbolo como separador, podemos especificá-lo utilizando o parâmetro sep.

import pandas as pd  mid_term_marks = {  "Student": ["Kamal", "Arun", "David", "Thomas", "Steven"],  "Economics": [10, 8, 6, 5, 8],  "Fine Arts": [7, 8, 5, 9, 6],  "Mathematics": [7, 3, 5, 8, 5], }   mid_term_marks_df = pd.DataFrame(mid_term_marks)  mid_term_marks_df.to_csv("midterm.csv", index=False, sep="\t") 

Neste caso, o conteúdo do ficheiro midterm.csv será:

Student Economics Fine Arts Mathematics Kamal 10 7 7 Arun 8 8 3 David 6 5 5 Thomas 5 9 8 Steven 8 6 5 

Aqui os valores são separados por um separador.

Está gostando dos nossos tutoriais? Inscreva-se no DelftStack no YouTube para nos apoiar na criação de mais vídeos tutoriais de alta qualidade. Inscrever-se
Suraj Joshi avatar Suraj Joshi avatar

Suraj Joshi is a backend software engineer at Matrice.ai.

LinkedIn

Artigo relacionado - Pandas DataFrame