Escrever um Pandas DataFrame para CSV
- 
          
            A sintaxe de pandas.DataFrame.to_csv()função
- 
          
            Escrever um DataFrame em ficheiro CSV utilizando a função pandas.DataFrame.to_csv()Função
- 
          
            Escrever um DataFrame no ficheiro CSV utilizando a função pandas.DataFrame.to_csv()Ignorando os Índices
- 
          
            Especificar um Separador no pandas.DataFrame.to_csv()Função
 
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.
Suraj Joshi is a backend software engineer at Matrice.ai.
LinkedInArtigo relacionado - Pandas DataFrame
- Como obter os cabeçalhos da coluna Pandas DataFrame como uma lista
- Como eliminar a coluna Pandas DataFrame
- Como Converter a Coluna DataFrame para DataTempo em Pandas
- Como Converter um Flutuador em um Inteiro em Pandas DataFrame
- Como Classificar Pandas DataFrame pelos Valores de uma Coluna
- Como Obter o Agregado de Pandas Group-By e Sum
