Función Pandas DataFrame DataFrame.to_csv()

Minahil Noor 30 enero 2023
  1. La sintaxis de pandas.DataFrame.to_csv()
  2. Códigos de ejemplo: DataFrame.a_csv()
  3. Códigos de ejemplo: DataFrame.to_csv() para especificar un separador de datos CSV
  4. Códigos de ejemplo: DataFrame.to_csv() para seleccionar algunas columnas y renombrar las columnas
Función Pandas DataFrame DataFrame.to_csv()

La función Python Pandas DataFrame.to_csv() guarda los valores contenidos en las filas y columnas de un DataFrame en un archivo CSV. También podemos convertir un DataFrame en una cadena CSV.

La sintaxis 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 función tiene varios parámetros. Los valores por defecto de todos los parámetros se mencionan más arriba.

path_or_buf Es una cadena o un mango de archivo. Representa el nombre de un archivo o un objeto de archivo. Si su valor es None, entonces el DataFrame se convierte en una cadena CSV.
sep Es una cuerda. Representa el separador usado en el archivo CSV.
na_rep Es una cuerda. Representa los datos que faltan.
float_format Es una cuerda. Representa el formato de los números de punto flotante.
columns Es una secuencia. Representa las columnas del DataFrame que se guardarán en el archivo CSV.
header Es un valor booleano o una lista de cuerdas. Si su valor es False, entonces los nombres de las columnas no se guardan en el archivo CSV. Si se pasa una lista de cadenas, entonces estas cadenas se guardan como nombres de columna.
index Es un valor booleano. Si su valor es True entonces se guardan los nombres de las filas, es decir, el índice.
index_label Es una cadena o una secuencia. Representa el nombre de la columna de un índice específico.
mode Es una cuerda. Representa el modo del proceso. Como estamos escribiendo un DataFrame a un archivo CSV su valor es el modo de escritura Python w.
encoding Es una cuerda. Representa el esquema de codificación a utilizar en el archivo CSV. El esquema de codificación por defecto es utf-8.
compression Es una cadena o un diccionario. Si es una cadena, entonces representa el modo de compresión. Si es un diccionario entonces el valor en el method representa el modo de compresión. Hay varios modos de compresión. Puedes comprobarlo aquí.
quoting Representa una constante de un módulo CSV.
quotechar Es una cuerda. Tiene una longitud de 1. Representa el carácter utilizado para citar campos.
line_terminator Es una cuerda. Representa el carácter de una nueva línea en el archivo CSV.
chunksize Es un número entero. Representa el número de filas a escribir en el archivo CSV a la vez.
date_format Es una cuerda. Representa el formato de los objetos DateTime.
doublequote Es un valor booleano. Controla la cita de quotechar.
escapechar Es una cuerda. Tiene una longitud de 1. Representa el carácter que se usa para escapar de sep y quotechar.
decimal Es una cuerda. Representa el carácter utilizado para un punto decimal.

Retorna

Devuelve None o una cadena. Si path_or_buf es None, entonces convierte el DataFrame en una cadena y devuelve la cadena. De lo contrario, devuelve None.

Códigos de ejemplo: DataFrame.a_csv()

Implementaremos esta función de diferentes maneras en los 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)

El ejemplo DataFrame es,

   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 los parámetros de esta función son opcionales. Si ejecutamos esta función sin pasar ningún parámetro, entonces produce la siguiente salida.

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)

Producción:

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

La función ha producido la salida utilizando todos los valores por defecto. Ha devuelto una cadena CSV. Ahora guardaremos los datos en el archivo 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)

Producción:

None

La función ha creado un nuevo archivo CSV en el directorio donde se guarda este programa.

Códigos de ejemplo: DataFrame.to_csv() para especificar un separador de datos 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)

Producción:

@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 ejemplo: DataFrame.to_csv() para seleccionar algunas columnas y renombrar las columnas

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)

Producción:

None

Pandas DataFrame to_csv

Al igual que los códigos anteriores, podemos personalizar nuestro archivo CSV usando los diferentes parámetros. Esta función proporciona varios parámetros a utilizar.

Artículo relacionado - Pandas DataFrame