Scrivi lista su CSV in Python

Azaz Farooq 30 gennaio 2023
  1. Scrivi la lista in CSV in Python usando il metodo csv.writer()
  2. Scrivi la lista in CSV in Python usando il metodo delle virgolette
  3. Scrivi la lista in CSV in Python usando il metodo pandas
  4. Scrivi la lista in CSV in Python usando il metodo NumPy
Scrivi lista su CSV in Python

Un file CSV può memorizzare i dati in un formato tabulare. Questi dati sono un semplice testo; ogni riga di dati è chiamata record e ognuna può essere separata da virgole.

Questo articolo discuterà i diversi metodi per scrivere una lista in CSV in Python.

Scrivi la lista in CSV in Python usando il metodo csv.writer()

Per prima cosa importiamo il modulo csv:

import csv

Supponiamo di prendere le seguenti voci da scrivere in un file CSV.

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

Ora, il codice di esempio completo è il seguente:

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"])

Se esegui i codici di cui sopra, il file students.csv verrà creato, per riga, nella directory corrente con le voci presenti nel codice. La funzione csv.writer() creerà l’oggetto writer() e il comando writer.writerow() inserirà le voci per riga nel file CSV.

Scrivi la lista in CSV in Python usando il metodo delle virgolette

In questo metodo, vedremo come scrivere valori nel file CSV tra virgolette. Il codice di esempio completo è il seguente:

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)

Il file studentgrades.csv verrà creato nella directory corrente. La funzione csv.QUOTE_ALL() inserisce virgolette doppie su tutte le voci, utilizzando un delimitatore ; per la separazione.

Produzione:

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

Scrivi la lista in CSV in Python usando il metodo pandas

Questo metodo utilizza la libreria Pandas, che contiene un DataFrame completo. Se non hai questa libreria installata sul tuo PC, puoi utilizzare uno strumento online chiamato Google Colab.

Il codice di esempio completo è il seguente:

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")

Produzione:

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

Questo metodo scrive l’lista Python in un file CSV come DataFrame.

Scrivi la lista in CSV in Python usando il metodo NumPy

Questo metodo utilizza la libreria NumPy per salvare una lista in un file CSV in Python. Il codice di esempio completo è il seguente:

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 funzione savetxt() della libreria NumPy scriverà un file CSV dalla lista di Python.

Produzione:

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

Articolo correlato - Python CSV

Articolo correlato - Python List