HOWTO · Python
Scrivi lista su CSV in Python
Un file csv può essere scritto utilizzando i valori dell'lista Python. A questo scopo vengono utilizzati metodi come csv.writer(), writerow(), pandas e numpy.
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