Cómo usar Python CSV Dictreader

Cómo usar Python CSV Dictreader

El Dictreader () se usa para leer el archivo del CSV en el formato del objeto DICT. Discutamos cómo usar el método Dictreader () en Python.

Antes de comenzar el plato principal de este artículo, primero entendamos qué es un archivo CSV.

¿Qué es un archivo CSV (valores separados por coma)??:

Un CSV es un archivo en el que los datos están en forma de una elección de usuario separada por comas. Estos archivos tienen CSV de extensión. Este archivo CSV se usa principalmente en análisis de datos. Además del análisis de datos, el archivo CSV también se usa en la aplicación de comercio electrónico porque es muy fácil de manejar en todos los idiomas de programación diferentes.

Método Dictreader () para leer el nombre de la columna particular:

Archivo CSV: El siguiente es una prueba.archivo CSV. Este archivo CSV nos leeremos del Dictreader (). En este programa, no vamos a leer todos los datos del archivo CSV en su lugar solo la columna de mes como se muestra en la siguiente:

"Mes", "1958", "1959", "1960"
"Jan", 340, 360, 417
"Feb", 318, 342, 391
"Mar", 362, 406, 419
"APR", 348, 396, 461
"May", 363, 420, 472
"Jun", 435, 472, 535
"Jul", 491, 548, 622
"Aug", 505, 559, 606
"SEP", 404, 463, 508
"Oct", 359, 407, 461
"Nov", 310, 362, 390
"Dec", 337, 405, 432

Código de Python:

Importar CSV
Con Open ('Prueba.csv ') como f:
Dictreader_obj = CSV.Dictreader (f)
Para el artículo en Dictreader_obj:
imprimir (artículo ['mes'])

Producción:

ENE
FEB
MAR
ABR
PUEDE
JUN
JUL
AGO
SEP
OCT
NOV
DIC

Línea 1: Importamos el módulo CSV.

Línea 2 a 5: Abrimos la prueba.archivo csv como f, y luego creamos un objeto del DictTtreader. El objeto (Dictreader_obj) luego muestra todos los datos del mes de la columna.

Método Dictreader () para leer el archivo CSV como un diccionario:

Ahora, veremos cómo podemos leer el CSV como formato de diccionario. Estamos usando la misma prueba.archivo csv como usamos antes. El ejemplo de este método se da a continuación:

Importar CSV
Con Open ('Prueba.csv ') como f:
Dictreader_obj = CSV.Dictreader (f)
Para el artículo en Dictreader_obj:
Imprimir (dict (artículo))

Producción:

'Mes': 'Jan', "1958": '340', '"1959"': '360', ', "1960"': '417'
'Mes': 'feb', ', "1958"': '318', '"1959"': '342', ', "1960":' 391 '
'Mes': 'mar', '"1958"': '362', '"1959"': '406', ', "1960"': '419'
'Mes': 'Apr', '"1958"': '348', '"1959"': '396', ', "1960"': '461'
'Mes': 'May', ', "1958"': '363', '"1959"': '420', ', "1960"': '472'
'Mes': 'Jun', "1958": '435', '"1959"': '472', ', "1960"': '535'
'Mes': 'jul', '"1958"': '491', '"1959"': '548', '"1960"': '622'
'Mes': 'aug', '"1958"': '505', '"1959"': '559', ', "1960"': '606'
'Mes': 'sep', '"1958"': '404', '"1959"': '463', '"1960"': '508'
'Mes': 'oct', '"1958"': '359', '"1959"': '407', ', "1960"': '461'
'Mes': 'Nov', '"1958"': '310', '"1959"': '362', ', "1960"': '390'
'Mes': 'dec', ', "1958"': '337', '"1959"': '405', ', "1960"': '432'

Línea 1: Importamos el módulo CSV.

Línea 2 a 5: Abrimos la prueba.Archivo CSV como F, y luego creamos un objeto del Dictreader. El objeto continuará itando hasta que los datos. El CSV.DicTreader () devolverá cada fila de tipo un Dicty Oredered, por lo que convertimos cada fila de tipo ordenado en orden a un dict utilizando el método de fundición de tipo. El lector de objetos luego muestra todos los datos en el formato del diccionario, como se muestra en la salida anterior.

Pero, si está utilizando la última Python, entonces no se requiere conversión de tipo DICT, ya que estamos utilizando el tipo de Cast In Line número 5 del ejemplo anterior del programa.

Método DictWriter ():

El método DictWriter es parte del método Dictreader donde ayuda a escribir los datos del formato del diccionario en el archivo CSV. Entonces, en este programa, veremos cómo podemos escribir los datos del diccionario al CSV.

Importar CSV
Con Open ('Salida.csv ', "w", newline = "", encoding = "utf-8-sig") como OutFile:
escritor = CSV.DictWriter (OutFile, ["FirstName", "LastName"])
escritor.WriteHeader ()
new_row = "FirstName": "Linux", "LastName": "Sugerencia"
escritor.Writerow (new_row)

OUPUT:

Nombre Apellido
Linux, pista

Línea 3 a 7: Abrimos la salida.Archivo CSV en el modo de escritura ('W'). Luego pasamos el encabezado del CSV en forma de lista al DictWriter mientras creamos el objeto en sí. Tenemos que decir los nombres de la columna del CSV al objeto antes de escribir al CSV; más, generará un error porque entonces el objeto no podrá comprender los nombres clave del diccionario. En la línea 6, creamos un objeto dict y lo pasamos al objeto de escritura para escribir en el archivo CSV.

La salida muestra que nuestros datos se escriben correctamente en el archivo CSV.

Método dictwriter () para escribir una lista de datos de diccionario en CSV:

En este programa, veremos cómo podemos escribir una lista de datos de diccionario en CSV. En el ejemplo anterior, hemos escrito solo datos de diccionario único a CSV para comprender el concepto. Pero escribimos CSV con grandes datos en la vida diaria. Entonces vamos a ver ese escenario en este ejemplo.

Importar CSV
Con Open ('Salida.csv ',' w ') como csvfile:
col = ['FirstName', 'LastName', 'Gradepoint']
escritor = CSV.DictWriter (CSVFile, FieldNames = col)
escritor.WriteHeader ()
escritor.Writerows (['Gradepoint': 'B', 'FirstName': 'Jeorge', 'LastName': 'Belly',
'Gradepoint': 'A', 'FirstName': 'Krishna', 'LastName': 'Kumar',
'Gradepoint': 'C', 'FirstName': 'Sheon', 'LastName': 'Shaiyer',
'Gradepoint': 'B', 'FirstName': 'Janny', 'LastName': 'Jeus',
'Gradepoint': 'A', 'FirstName': 'Sham', 'LastName': 'Sharma'])

Producción:

FirstName, LastName, Grade
Jeorge, vientre, B
Krishna, Kumar, un
Sheon, Shaiyer, C
Janny, Jeus, B
Sham, Sharma, un

Línea 3 a 11: Abrimos la salida.Archivo CSV en el modo de escritura ('W'). Luego pasamos el encabezado del CSV en forma de lista al DictWriter mientras creamos el objeto en sí. Tenemos que decir los nombres de la columna del CSV al objeto antes de escribir al CSV; más, generará un error porque entonces el objeto no podrá comprender los nombres clave del diccionario. En la línea 7, creamos una lista de objetos de diccionario y lo pasamos al objeto de escritorio para escribir todos los datos en el archivo CSV a la vez.

La salida muestra que nuestros datos se escriben correctamente en el archivo CSV.

Conclusión: En este artículo, hemos aprendido a usar los métodos Dictreader () y DictWriter (). También hemos visto la forma de escribir una lista de objetos de diccionario a CSV a la vez. La principal diferencia cuando escribimos una lista de diccionarios o un solo objeto de diccionario es el método de escritura. Utilizamos el método de escritura cuando teníamos más de un datos y la escritura cuando solo teníamos datos únicos.