Pandas DataFrame DataFrame.to_csv() Função

Minahil Noor 30 janeiro 2023
  1. Sintaxe de pandas.DataFrame.to_csv()
  2. Códigos de exemplo: DataFrame.to_csv()
  3. Códigos de exemplo: DataFrame.to_csv() para Especificar um Separador para dados CSV
  4. Códigos de exemplo: DataFrame.to_csv() para seleccionar poucas colunas e renomear as colunas
Pandas DataFrame DataFrame.to_csv() Função

Python Pandas DataFrame.to_csv() função guarda os valores contidos nas linhas e colunas de um DataFrame num ficheiro CSV. Podemos também converter um DataFrame num ficheiro CSV.

Sintaxe de pandas.DataFrame.to_csv()

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=".",
)

Parâmetros

Esta função tem vários parâmetros. Os valores por defeito de todos os parâmetros são mencionados acima.

path_or_buf É uma string ou um cabo de ficheiro. Representa o nome de um ficheiro ou de um objecto de ficheiro. Se o seu valor for Nenhum, então o DataFrame é convertido numa string CSV.
sep É um string. Representa o separador utilizado no ficheiro CSV.
na_rep É um string. Representa os dados em falta.
float_format É um string. Representa o formato para os números de ponto flutuante.
columns É uma sequência. Representa as colunas do DataFrame que serão guardadas no ficheiro CSV.
header É um valor booleano ou uma lista de strings. Se o seu valor for definido como False, então os nomes das colunas não são guardados no ficheiro CSV. Se uma lista de strings for passada, então estas strings são guardadas como nomes de colunas.
index É um valor booleano. Se o seu valor for True, então os nomes das linhas, ou seja, índice, são guardados.
index_label É um string ou uma sequência. Representa o nome da coluna para um índice específico.
mode É um string. Representa o modo do processo. Como estamos a escrever um DataFrame para um ficheiro CSV, o seu valor é o modo de escrita Python w.
encoding É um string. Representa o esquema de codificação a utilizar no ficheiro CSV. O esquema de codificação padrão é utf-8.
compression É uma string ou um dicionário. Se for uma string, então representa o modo de compressão. Se for um dicionário, então o valor no method representa o modo de compressão. Existem vários modos de compressão. Pode consultar aqui.
quoting Representa uma constante de um módulo CSV.
quotechar É um string. Tem um comprimento de 1. representa o carácter utilizado para citar campos.
line_terminator É um string. Representa o carácter para uma nova linha no ficheiro CSV.
chunksize É um número inteiro. Representa o número de filas para escrever no ficheiro CSV de cada vez.
date_format É um string. Representa o formato dos objectos DateTime.
doublequote É um valor booleano. Controla a citação de quotechar.
escapechar É um string. Tem um comprimento de 1. representa a caractere que é utilizada para escapar ao sep e ao quotechar.
decimal É um string. Representa o carácter utilizado para uma vírgula decimal.

Devolver

Devolve None ou um string. Se path_or_buf for None então converte o DataFrame para uma string e devolve a string. Caso contrário, retorna None.

Códigos de exemplo: DataFrame.to_csv()

Vamos implementar esta função de diferentes maneiras nos próximos códigos.

import pandas as pd

dataframe=pd.DataFrame({
                        'Attendance': 
                            {0: 60, 
                            1: 100, 
                            2: 80,
                            3: 78,
                            4: 95},
                        'Name': 
                            {0: 'Olivia', 
                            1: 'John', 
                            2: 'Laura',
                            3: 'Ben',
                            4: 'Kevin'},
                        'Obtained Marks': 
                            {0: 90, 
                            1: 75, 
                            2: 82, 
                            3: 64, 
                            4: 45}
                        })

print(dataframe)

O exemplo DataFrame é,

   Attendance    Name  Obtained Marks
0          60  Olivia              90
1         100    John              75
2          80   Laura              82
3          78     Ben              64
4          95   Kevin              45

Todos os parâmetros desta função são opcionais. Se executarmos esta função sem passarmos qualquer parâmetro, então ela produz o seguinte resultado.

import pandas as pd

dataframe = pd.DataFrame(
    {
        "Attendance": {0: 60, 1: 100, 2: 80, 3: 78, 4: 95},
        "Name": {0: "Olivia", 1: "John", 2: "Laura", 3: "Ben", 4: "Kevin"},
        "Obtained Marks": {0: 90, 1: 75, 2: 82, 3: 64, 4: 45},
    }
)

csvstring = dataframe.to_csv()
print(csvstring)

Resultado:

,Attendance,Name,Obtained Marks
0,60,Olivia,90
1,100,John,75
2,80,Laura,82
3,78,Ben,64
4,95,Kevin,45

A função produziu o output utilizando todos os valores por defeito. Devolveu uma string CSV. Agora vamos guardar os dados no ficheiro CSV.

import pandas as pd

dataframe = pd.DataFrame(
    {
        "Attendance": {0: 60, 1: 100, 2: 80, 3: 78, 4: 95},
        "Name": {0: "Olivia", 1: "John", 2: "Laura", 3: "Ben", 4: "Kevin"},
        "Obtained Marks": {0: 90, 1: 75, 2: 82, 3: 64, 4: 45},
    }
)

returnValue = dataframe.to_csv("myfile.csv")
print(returnValue)

Resultado:

None

A função criou um novo ficheiro CSV no directório onde este programa é guardado.

Códigos de exemplo: DataFrame.to_csv() para Especificar um Separador para dados CSV

import pandas as pd

dataframe = pd.DataFrame(
    {
        "Attendance": {0: 60, 1: 100, 2: 80, 3: 78, 4: 95},
        "Name": {0: "Olivia", 1: "John", 2: "Laura", 3: "Ben", 4: "Kevin"},
        "Obtained Marks": {0: 90, 1: 75, 2: 82, 3: 64, 4: 45},
    }
)

returnValue = dataframe.to_csv(sep="@")
print(returnValue)

Resultado:

@Attendance@Name@Obtained Marks

0@60@Olivia@90

1@100@John@75

2@80@Laura@82

3@78@Ben@64

4@95@Kevin@45

Códigos de exemplo: DataFrame.to_csv() para seleccionar poucas colunas e renomear as colunas

import pandas as pd

dataframe = pd.DataFrame(
    {
        "Attendance": {0: 60, 1: 100, 2: 80, 3: 78, 4: 95},
        "Name": {0: "Olivia", 1: "John", 2: "Laura", 3: "Ben", 4: "Kevin"},
        "Obtained Marks": {0: 90, 1: 75, 2: 82, 3: 64, 4: 45},
    }
)

returnValue = dataframe.to_csv(
    "myfile.csv", columns=["Name", "Obtained Marks"], header=["Full Name", "Marks"]
)
print(returnValue)

Resultado:

None

Pandas DataFrame to_csv

Tal como os códigos acima, podemos personalizar o nosso ficheiro CSV utilizando os diferentes parâmetros. Esta função fornece vários parâmetros a utilizar.

Artigo relacionado - Pandas DataFrame