Cómo escribir la lista a CSV en Python

Azaz Farooq 30 enero 2023
  1. Escribir una lista a CSV en Python usando el método csv.writer()
  2. Escribir la lista a CSV en Python usando el método de las comillas
  3. Escribir la lista a CSV en Python usando el método pandas
  4. Escribe la lista en CSV en Python usando el método NumPy
Cómo escribir la lista a CSV en Python

Un archivo CSV puede almacenar los datos en un formato tabular. Estos datos son un simple texto; cada fila de datos se llama registro, y cada uno puede ser separado con comas.

Este artículo discutirá los diferentes métodos para escribir una lista a CSV en Python.

Escribir una lista a CSV en Python usando el método csv.writer()

Primero importemos el módulo csv:

import csv

Supongamos que tomamos las siguientes entradas para escribir en un archivo CSV.

RollNo, Name, Subject
1, ABC, Economics
2, TUV, Arts
3, XYZ, Python

Ahora, el código de ejemplo completo es el siguiente:

import csv

with open("students.csv", "w", newline="") as student_file:
    writer = csv.writer(student_file)
    writer.writerow(["RollNo", "Name", "Subject"])
    writer.writerow([1, "ABC", "Economics"])
    writer.writerow([2, "TUV", "Arts"])
    writer.writerow([3, "XYZ", "Python"])

Si ejecutas los códigos anteriores, el archivo students.csv se creará, por filas, en el directorio actual con las entradas que están presentes en el código. La función csv.writer() creará el objeto writer(), y el comando writer.writerow() insertará las entradas en el archivo CSV.

Escribir la lista a CSV en Python usando el método de las comillas

En este método, veremos cómo podemos escribir valores en un archivo CSV con comillas. El código completo de ejemplo es el siguiente:

import csv

list = [["RN", "Name", "GRADES"], [1, "ABC", "A"], [2, "TUV", "B"], [3, "XYZ", "C"]]
with open("studentgrades.csv", "w", newline="") as file:
    writer = csv.writer(file, quoting=csv.QUOTE_ALL, delimiter=";")
    writer.writerows(list)

El archivo studentgrades.csv se creará en el directorio actual. La función csv.QUOTE_ALL() coloca comillas dobles en todas las entradas, usando un delimitador ; para la separación.

Resultado:

RN;"Name";"GRADES"
1;"ABC";"A"
2;"TUV";"B"
3;"XYZ";"C"

Escribir la lista a CSV en Python usando el método pandas

Este método utiliza la biblioteca Pandas, que contiene un DataFrame completo. Si no tienes esta biblioteca instalada en tu PC, puedes usar una herramienta online llamada Google Colab.

El código completo de ejemplo es el siguiente:

import pandas as pd

name = ["ABC", "TUV", "XYZ", "PQR"]
degree = ["BBA", "MBA", "BSC", "MSC"]
score = [98, 90, 88, 95]
dict = {"name": name, "degree": degree, "score": score}
df = pd.DataFrame(dict)
df.to_csv("test.csv")

Resultado:

	name	degree	score
0	ABC	    BBA	     98
1	TUV	    MBA	     90
2	XYZ	    BSC	     88
3	PQR	    MSC	     95

Este método escribe la lista de Python en un archivo CSV como un DataFrame.

Escribe la lista en CSV en Python usando el método NumPy

Este método utiliza la biblioteca NumPy para guardar una lista en un archivo CSV en Python. El código de ejemplo completo es el siguiente:

import numpy as np

list_rows = [
    ["ABC", "COE", "2", "9.0"],
    ["TUV", "COE", "2", "9.1"],
    ["XYZ", "IT", "2", "9.3"],
    ["PQR", "SE", "1", "9.5"],
]
np.savetxt("numpy_test.csv", list_rows, delimiter=",", fmt="% s")

La función savetxt() de la librería NumPy escribirá un archivo CSV de la lista de Python.

Resultado:

ABC	 COE	2	9
TUV	 COE	2	9.1
XYZ	 IT	2	9.3
PQR	 SE	1	9.5

Artículo relacionado - Python CSV

Artículo relacionado - Python List