CSV (valores separados por comas) es un formato de archivo simple que se utiliza para almacenar datos tabulares, como una hoja de cálculo o una base de datos. El archivo CSV almacena datos tabulares (números y texto) en texto sin formato. Cada línea del archivo es un registro de datos. Cada registro consta de uno o más campos, separados por comas. El uso de la coma como separador de campo es el origen del nombre de este formato de archivo.
Python proporciona un módulo integrado llamado csv
para trabajar con archivos CSV. Este módulo proporciona varias clases para escribir en CSV:
- Usando la clase csv.writer
- Usando la clase csv.DictWriter
Usando la clase csv.writer
csv.writer
La clase se utiliza para insertar datos en el archivo CSV. Esta clase devuelve un objeto escritor que es responsable de convertir los datos del usuario en una string delimitada. Un objeto csvfile debe abrirse con newline=''
caracteres de nueva línea dentro de los campos citados, de lo contrario no se interpretarán correctamente.
Sintaxis: csv.writer(csvfile, dialect=’excel’, **fmtparams)
Parámetros:
csvfile: un objeto de archivo con el método write().
dialecto (opcional): Nombre del dialecto a utilizar.
fmtparams (opcional): parámetros de formato que sobrescribirán los especificados en el dialecto.
csv.writer
La clase proporciona dos métodos para escribir en CSV. son writerow()
y writerows()
.
- writerow(): este método escribe una sola fila a la vez. La fila de campo se puede escribir usando este método.
Sintaxis:
writerow(fields)
- writerows(): este método se utiliza para escribir varias filas a la vez. Esto se puede usar para escribir una lista de filas.
Sintaxis:
Writing CSV files in Python writerows(rows)
Ejemplo:
# Python program to demonstrate # writing to CSV import csv # field names fields = ['Name', 'Branch', 'Year', 'CGPA'] # data rows of csv file rows = [ ['Nikhil', 'COE', '2', '9.0'], ['Sanchit', 'COE', '2', '9.1'], ['Aditya', 'IT', '2', '9.3'], ['Sagar', 'SE', '1', '9.5'], ['Prateek', 'MCE', '3', '7.8'], ['Sahil', 'EP', '2', '9.1']] # name of csv file filename = "university_records.csv" # writing to csv file with open(filename, 'w') as csvfile: # creating a csv writer object csvwriter = csv.writer(csvfile) # writing the fields csvwriter.writerow(fields) # writing the data rows csvwriter.writerows(rows)
Producción:
Usando la clase csv.DictWriter
Esta clase devuelve un objeto escritor que asigna diccionarios a las filas de salida.
Sintaxis: csv.DictWriter(csvfile, fieldnames, restval=”, extrasaction=’raise’, dialect=’excel’, *args, **kwds)
Parámetros:
csvfile: un objeto de archivo con el método write().
nombres de campo: una secuencia de claves que identifican el orden en que se deben pasar los valores en el diccionario.
restval (opcional): especifica el valor que se escribirá si al diccionario le falta una clave en los nombres de campo.
acción adicional (opcional): si no se encuentra una clave en los nombres de campo, el parámetro de acción adicional opcional indica qué acción tomar. Si está configurado para generar, se generará un ValueError.
dialecto (opcional): Nombre del dialecto a utilizar.
csv.DictWriter proporciona dos métodos para escribir en CSV. Están:
- writeheader():
writeheader()
el método simplemente escribe la primera fila de su archivo csv usando los nombres de campo preespecificados.Sintaxis:
writeheader()
writerows():
writerows
El método simplemente escribe todas las filas, pero en cada fila, escribe solo los valores (no las claves).Sintaxis:
writerows(mydict)
Ejemplo:
# importing the csv module import csv # my data rows as dictionary objects mydict =[{'branch': 'COE', 'cgpa': '9.0', 'name': 'Nikhil', 'year': '2'}, {'branch': 'COE', 'cgpa': '9.1', 'name': 'Sanchit', 'year': '2'}, {'branch': 'IT', 'cgpa': '9.3', 'name': 'Aditya', 'year': '2'}, {'branch': 'SE', 'cgpa': '9.5', 'name': 'Sagar', 'year': '1'}, {'branch': 'MCE', 'cgpa': '7.8', 'name': 'Prateek', 'year': '3'}, {'branch': 'EP', 'cgpa': '9.1', 'name': 'Sahil', 'year': '2'}] # field names fields = ['name', 'branch', 'year', 'cgpa'] # name of csv file filename = "university_records.csv" # writing to csv file with open(filename, 'w') as csvfile: # creating a csv dict writer object writer = csv.DictWriter(csvfile, fieldnames = fields) # writing headers (field names) writer.writeheader() # writing data rows writer.writerows(mydict)
Producción:
Publicación traducida automáticamente
Artículo escrito por nikhilaggarwal3 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA