Meta tags:
description= Aprende a leer y escribir archivos CSV en Python con el módulo csv: csv.reader, csv.writer, DictReader y DictWriter con ejemplos prácticos.;
Headings (most frequently used words):
csv, archivos, de, en, con, escribir, qué, leer, entrecomillado, para, errores, filas, manejo, python, es, un, archivo, reader, writer, dictreader, dictwriter, delimitadores, personalizados, usar, io, stringio, memoria, comunes, vs, pandas, grandes, integrando, todo, capítulos, relacionados, práctica, saltar, la, fila, encabezado, cargar, todas, las, una, lista, por, newline, importa, al, claves, extra, faltantes, constantes, todos, los, valores, son, strings, problemas, codificación, blanco,
Text of the page (most frequently used words):
csv (118), python (69), archivos (39), #reader (38), copiar (31), row (30), los (29), #writer (27), con (26), archivo (22), una (20), name (20), para (19), que (19), datos (18), escribir (17), newline (17), por (16), aprender (15), print (15), import (15), with (14), fieldnames (14), open (14), alice (14), matplotlib (14), leer (13), dictreader (13), filas (13), age (13), mysql (13), city (12), fila (12), mongodb (12), dictwriter (11), elementos (11), for (10), las (10), bob (10), new (10), york (10), línea (10), lista (10), listas (9), strings (9), salida (9), rows (8), writerow (8), módulo (8), campos (8), diccionarios (8), html (7), data (7), string (7), people (7), cada (7), eliminar (7), tuplas (7), todos (6), json (6), errores (6), crear (6), manejo (6), cualquier (6), más (6), contiene (6), valores (6), acceder (6), como (6), london (6), encabezado (6), and (6), métodos (6), w3docs (5), try (5), pandas (5), comunes (5), stringio (5), except (5), este (5), vez (5), price (5), necesitas (5), cuando (5), entrecomillar (5), delimitador (5), campo (5), nombres (5), header (5), primeros (5), pasos (5), tutorial (5), variables (5), formatter (5), color (5), generator (4), práctica (4), desde (4), memoria (4), entrecomillado (4), qué (4), next (4), del (4), lector (4), ejemplo (4), escribe (4), error (4), blanco (4), score (4), usa (4), output (4), contienen (4), columnas (4), regresión (4), code (3), encoder (3), editor (3), cuestionarios (3), ejercicios (3), php (3), javascript (3), css (3), todo (3), grandes (3), usar (3), delimitadores (3), personalizados (3), column (3), names (3), agregar (3), texto (3), escritor (3), maneja (3), output_file (3), float (3), writeheader (3), inventory (3), nuevo (3), conjuntos (3), son (3), forma (3), entre (3), abre (3), codificación (3), siempre (3), convierte (3), scored (3), engineer (3), bio (3), solo (3), comillas (3), valor (3), parámetro (3), delimiter (3), comas (3), diccionario (3), clave (3), cambiar (3), writerows (3), the (3), primera (3), automáticamente (3), years (3), old (3), lives (3), saltos (3), base (3), cadenas (3), recorrer (3), unir (3), ver (3), tools (3), italiano (2), português (2), español (2), français (2), русский (2), deutsch (2), english (2), beautifier (2), diff (2), password (2), herramientas (2), java (2), git (2), libros (2), ejemplos (2), fragmentos (2), capítulos (2), relacionados (2), integrando (2), this (2), page (2), asyncio (2), random (2), was (2), which (2), module (2), class (2), maps (2), each (2), dictionary (2), keyed (2), manejar (2), excepciones (2), otro (2), formato (2), común (2), contenido (2), read (2), abrir (2), plano (2), patrón (2), ambos (2), mismo (2), bloque (2), sin (2), cargar (2), outfile (2), infile (2), input_file (2), lee (2), operaciones (2), agregación (2), donde (2), sobre (2), lectura (2), escritura (2), tienen (2), not (2), envuelve (2), líneas (2), devuelve (2), ellas (2), utf (2), correcta (2), evitar (2), devuelven (2), raw (2), procesar (2), objeto (2), similar (2), quote_all (2), quoting (2), entrecomillados (2), lanzar (2), salto (2), predeterminado (2), comportamiento (2), tuberías (2), tsv (2), separado (2), tabulaciones (2), separados (2), restval (2), extrasaction (2), defecto (2), está (2), puedes (2), claves (2), antes (2), mapea (2), columna (2), file (2), esto (2), argumento (2), quieres (2), windows (2), traducción (2), iterable (2), cherry (2), banana (2), 100 (2), apple (2), product (2), quantity (2), dobles (2), caracteres (2), list (2), columns (2), saltar (2), incluido (2), tipos (2), puede (2), insertar (2), coma (2), handling (2), números (2), clases (2), limit (2), colección (2), delete (2), ordenar (2), cuadrícula (2), dispersión (2), distribución (2), introducción (2), bucles (2), set (2), sets (2), hash (2), 2026, derechos, reservados, hecho, desarrolladores, idioma, política, privacidad, contacto, acerca, empresa, tutoriales, gratuitos, web, 2014, previous, yes, helpful, comprobar, encontrado, otras, trabajar, intercambio, readlines, transmitir, tamaño, filtered, written, expensive, filtrar, siguiente, filtra, según, condición, resultados, filtrados, filtrado, complejo, librería, terceros, proporciona, significativamente, rápidos, características, dataframe, to_csv, read_csv, situaciones, control, detallado, scripts, instalado, pequeños, medianos, hasta, unos, pocos, cientos, ideal, permission, permissionerror, found, filenotfounderror, encontrados, permisos, elegante, continue, skip, blank, lines, vacías, fíltralas, encoding, modernos, pero, exportados, excel, pueden, cp1252, latin, unicodedecodeerror, problemas, int, explícita, analizar, sistema, pruebas, recibidos, api, getvalue, forzar, sean, nunca, aparece, quote_none, numéricos, quote_nonnumeric, carácter, quote_minimal, constante, controla, entrecomillan, constantes, psv, delimitado, scores, mundo, real, usan, delimitados, manejarlos, contrario, falta, vacío, ese, menos, proporciones, ignore, lanza, valueerror, extra, faltantes, proporcionaste, construcción, llámalo, llamada, resultante, writes, people_out, contraparte, proporcionas, antemano, luego, escribes, atributo, uso, útil, inspección, data_no_header, has, provide, field, explicitly, anular, pasando, secuencia, simple, basadas, enfoque, preferido, significativos, nombre, lugar, índice, dict, ordereddict, modo, traduce, también, terminaciones, juntos, producen, genera, programa, pasar, suprime, adicional, permite, administre, finales, importa, sola, muchas, aceptan, después, ejecutar, entrecomillando, first, completo, pasa, todas, only, remain, consume, store, llama, consumir, observa, número, infiere, conviértelos, sea, necesario, suponiendo, anterior, importante, universal, adicionales, porque, realiza, propio, internamente, básico, abierto, iterador, transparente, analizarlo, manualmente, típicamente, nombra, siguientes, reales, representa, dentro, generalmente, aquí, hay, mínimo, capítulo, cubre, trabajo, debes, uno, formatos, intercambiar, tabulares, hoja, cálculo, herramienta, ciencia, leerlo, escribirlo, integrado, partes, complicadas, peculiaridades, sistemas, operativos, mapear, instalar, nada, viene, toda, instalación, aprende, prácticos, peticiones, http, pytest, paquetes, entornos, virtuales, tooling, best, practices, threading, concurrency, sys, itertools, collections, standard, library, sumar, dos, invertir, duplicados, how, enumeraciones, abstractas, encapsulamiento, polimorfismo, dataclasses, static, classmethod, property, mágicos, advanced, oop, sentencia, match, enumerate, zip, map, comprensiones, gestores, contexto, recursión, closures, generadores, decoradores, args, kwargs, sugerencias, tipo, intermediate, actualización, consulta, find, join, update, drop, table, order, where, select, insert, tabla, vecinos, cercanos, curva, auc, roc, validación, cruzada, bootstrap, means, categóricos, búsqueda, logística, agrupamiento, jerárquico, matriz, confusión, árbol, decisión, train, test, escalar, múltiple, polinomial, lineal, diagrama, normal, percentil, desviación, estándar, media, mediana, moda, machine, learning, gráficos, pastel, histogramas, barras, subplot, etiquetas, marcadores, trazado, pyplot, django, scipy, numpy, modules, formateo, entrada, usuario, pip, regex, matemáticas, fechas, módulos, ámbito, iteradores, herencia, objetos, arrays, lambda, funciones, while, else, operadores, booleanos, casting, comentarios, sintaxis, actualizar, desempaquetar, tupla, segmentación, home, anidados, modificar, iterar, comprensión, globales, escape, concatenar, asignar, múltiples, conjunto, añadir, iniciar, sesión, buscar, formatters, url, reverse, sha256, md5, length, calculator, colors, hsl, hex, mixer, converter, picker, general, cursos,
Text of the page (random words):
eder a elementos de lista acceder a elementos de un set acceder a tuplas agregar elementos añadir elementos a una lista agregar elementos a un conjunto asignar múltiples valores cambiar elementos cambiar elementos de una lista concatenar strings copiar diccionarios copiar listas métodos de diccionario caracteres de escape cadenas de formato variables globales unir listas unir sets unir tuplas comprensión de listas métodos de lista iterar sobre diccionarios recorrer listas recorrer sets recorrer tuplas modificar strings diccionarios anidados variables de salida python home listas de python conjuntos en python python strings tuplas en python variables en python eliminar elementos eliminar elementos de una lista eliminar elementos de un set métodos de conjuntos segmentación de cadenas ordenar listas métodos de string métodos de tupla desempaquetar tuplas actualizar tuplas nombres de variables introducción a python primeros pasos con python sintaxis de python comentarios en python variables en python tipos de datos en python números en python casting en python strings de python booleanos en python operadores de python listas de python tuplas de python diccionarios en python python if else bucles while en python bucles for en python funciones en python python lambda arrays en python clases y objetos en python herencia en python iteradores de python ámbito en python módulos de python fechas en python matemáticas en python python json python regex python pip python try except entrada de usuario en python formateo de cadenas en python file handling manejo de archivos en python leer archivos en python escribir crear archivos en python eliminar archivos en python python modules tutorial de numpy tutorial de pandas tutorial de scipy tutorial de django python matplotlib introducción a matplotlib primeros pasos con matplotlib matplotlib pyplot trazado con matplotlib marcadores de matplotlib líneas en matplotlib etiquetas en matplotlib cuadrícula de matplotlib subplot de matplotlib dispersión en matplotlib barras en matplotlib histogramas con matplotlib gráficos de pastel con matplotlib machine learning primeros pasos media mediana moda desviación estándar percentil distribución de datos distribución normal de datos diagrama de dispersión regresión lineal regresión polinomial regresión múltiple escalar train test árbol de decisión matriz de confusión agrupamiento jerárquico regresión logística búsqueda en cuadrícula datos categóricos k means agregación bootstrap validación cruzada curva auc roc k vecinos más cercanos python mysql primeros pasos con mysql mysql crear base de datos mysql crear tabla mysql insert mysql select mysql where mysql order by mysql delete mysql drop table mysql update mysql limit mysql join python mongodb primeros pasos con mongodb crear base de datos mongodb mongodb crear colección insertar en mongodb mongodb find consulta mongodb ordenar en mongodb mongodb delete eliminar colección en mongodb actualización en mongodb mongodb limit intermediate python f strings sugerencias de tipo args kwargs decoradores generadores closures recursión gestores de contexto comprensiones enumerate zip map sentencia match advanced oop métodos mágicos property static y classmethod dataclasses polimorfismo encapsulamiento clases abstractas enumeraciones python how to eliminar duplicados en listas invertir un string sumar dos números error handling and the standard library lanzar excepciones collections itertools os sys random archivos csv concurrency in python asyncio threading python tooling and best practices entornos virtuales paquetes pytest peticiones http archivos csv en python aprende a leer y escribir archivos csv en python con el módulo csv csv reader csv writer dictreader y dictwriter con ejemplos prácticos csv valores separados por comas es uno de los formatos más comunes para intercambiar datos tabulares cualquier hoja de cálculo base de datos y herramienta de ciencia de datos puede leerlo y escribirlo el módulo integrado csv de python maneja automáticamente las partes más complicadas entrecomillar campos que contienen comas eliminar las peculiaridades de los saltos de línea entre sistemas operativos y mapear filas a diccionarios no necesitas instalar nada csv viene incluido en toda instalación de python este capítulo cubre la lectura de archivos csv la escritura de archivos csv el trabajo con dictreader y dictwriter el manejo de delimitadores personalizados y los errores comunes que debes evitar qué es un archivo csv un archivo csv es un archivo de texto plano donde cada línea representa una fila de datos y cada campo dentro de una fila está separado por un delimitador generalmente una coma aquí hay un ejemplo mínimo name age city alice 30 new york bob 25 london copiar la primera fila es típicamente un encabezado que nombra cada columna las filas siguientes contienen los datos reales si el valor de un campo contiene una coma el campo se envuelve en comillas dobles name bio alice engineer new york copiar el módulo csv maneja este entrecomillado de forma transparente por lo que no necesitas analizarlo manualmente leer archivos csv con csv reader csv reader convierte un archivo abierto o cualquier iterable de strings en un iterador que devuelve cada fila como una lista de python patrón básico leer un archivo csv fila por fila import csv with open people csv newline as f reader csv reader f for row in reader print row copiar el argumento newline es importante sin él la traducción universal de saltos de línea de python puede insertar filas en blanco adicionales en windows porque el módulo csv realiza su propio manejo de saltos de línea internamente suponiendo que people csv contiene los datos del ejemplo anterior la salida es name age city alice 30 new york bob 25 london copiar observa que todos los valores incluido el número 30 se devuelven como strings el módulo csv no infiere tipos de datos conviértelos tú mismo cuando sea necesario saltar la fila de encabezado cuando solo quieres las filas de datos y no el encabezado llama a next en el lector una vez para consumir la primera línea saltar la fila de encabezado con next import csv with open people csv newline as f reader csv reader f header next reader consume and store the header print columns header for row in reader only data rows remain name age city row print f name is age years old and lives in city copiar salida columns name age city alice is 30 years old and lives in new york bob is 25 years old and lives in london copiar cargar todas las filas en una lista si necesitas el archivo completo en memoria de una vez pasa el lector a list import csv with open people csv newline as f reader csv reader f rows list reader print rows 0 header row print rows 1 first data row copiar salida name age city alice 30 new york copiar escribir archivos csv con csv writer csv writer escribe filas en cualquier objeto similar a un archivo entrecomillando automáticamente los campos que contienen el delimitador comillas dobles o caracteres de salto de línea escribir filas en un nuevo archivo csv import csv rows product price quantity apple 1 2 50 banana 0 5 100 cherry 3 0 30 with open inventory csv w newline as f writer csv writer f writer writerows rows copiar después de ejecutar esto inventory csv contiene product price quantity apple 1 2 50 banana 0 5 100 cherry 3 0 30 copiar usa writer writerow row para escribir una sola fila o writer writerows rows para escribir muchas a la vez ambos aceptan cualquier iterable por qué newline importa al escribir en windows python abre los archivos de texto en un modo que traduce n a r n el módulo csv también escribe terminaciones de línea r n por defecto juntos producen r r n lo que genera una línea en blanco entre cada fila cuando el archivo se abre en otro programa pasar newline suprime la traducción adicional y permite que csv administre los finales de línea por sí solo leer archivos csv con csv dictreader dictreader mapea cada fila a un ordereddict o un dict simple en python 3 8 con claves basadas en los nombres de las columnas del encabezado este es el enfoque preferido cuando las columnas tienen nombres significativos y quieres acceder a ellas por nombre en lugar de por índice leer un archivo csv como una secuencia de diccionarios import csv with open people csv newline as f reader csv dictreader f for row in reader print row name row city copiar salida alice new york bob london copiar dictreader lee la primera fila automáticamente como el encabezado puedes anular esto pasando un argumento fieldnames import csv file has no header provide field names explicitly with open data_no_header csv newline as f reader csv dictreader f fieldnames name age city for row in reader print row copiar el atributo reader fieldnames siempre contiene la lista de nombres de columnas en uso lo que es útil para la inspección antes de procesar las filas escribir archivos csv con csv dictwriter dictwriter es la contraparte de dictreader proporcionas los nombres de las columnas de antemano y luego escribes diccionarios el escritor mapea cada clave a la columna correcta escribir una lista de diccionarios en un archivo csv import csv people name alice age 30 city new york name bob age 25 city london fieldnames name age city with open people_out csv w newline as f writer csv dictwriter f fieldnames fieldnames writer writeheader writes the column name row writer writerows people copiar el archivo resultante name age city alice 30 new york bob 25 london copiar writeheader usa la lista fieldnames que proporcionaste en la construcción llámalo una vez antes de cualquier llamada a writerow manejo de claves extra o faltantes por defecto dictwriter lanza un valueerror si un diccionario contiene una clave que no está en fieldnames puedes cambiar este comportamiento con el parámetro extrasaction writer csv dictwriter f fieldnames fieldnames extrasaction ignore copiar por el contrario si a un diccionario le falta una clave el escritor escribe un string vacío para ese campo a menos que proporciones un valor predeterminado restval writer csv dictwriter f fieldnames fieldnames restval n a copiar delimitadores y entrecomillado personalizados los archivos csv del mundo real no siempre usan comas como delimitador los archivos de valores separados por tabulaciones tsv y los archivos delimitados por tuberías son comunes usa el parámetro delimiter para manejarlos leer un archivo separado por tabulaciones import csv with open scores tsv newline as f reader csv reader f delimiter t for row in reader print row copiar escribir un archivo delimitado por tuberías import csv with open output psv w newline as f writer csv writer f delimiter writer writerow id name score writer writerow 1 alice 98 writer writerow 2 bob 87 copiar archivo de salida id name score 1 alice 98 2 bob 87 copiar constantes de entrecomillado el parámetro quoting controla qué campos se entrecomillan en la salida constante valor comportamiento csv quote_minimal 0 entrecomillar solo los campos que contienen el delimitador el carácter de comillas o un salto de línea predeterminado csv quote_all 1 entrecomillar todos los campos csv quote_nonnumeric 2 entrecomillar todos los campos no numéricos el lector convierte los campos no entrecomillados a float csv quote_none 3 no entrecomillar nunca lanzar error si el delimitador aparece en un campo forzar que todos los campos sean entrecomillados import csv io output io stringio writer csv writer output quoting csv quote_all writer writerow name bio writer writerow alice engineer new york print output getvalue copiar salida name bio alice engineer new york copiar usar io stringio para csv en memoria cuando no necesitas acceder al sistema de archivos por ejemplo en pruebas o al procesar datos csv recibidos desde una api usa io stringio como objeto similar a un archivo analizar csv desde un string import csv import io raw name score n alice 95 n bob 87 n reader csv dictreader io stringio raw for row in reader print row name scored row score copiar salida alice scored 95 bob scored 87 copiar errores comunes todos los valores son strings csv reader y dictreader siempre devuelven strings convierte los valores de forma explícita age int row age price float row price copiar problemas de codificación abre los archivos con la codificación correcta para evitar unicodedecodeerror utf 8 es la codificación más común para los archivos csv modernos pero los archivos exportados desde excel pueden usar latin 1 o cp1252 with open data csv newline encoding utf 8 as f reader csv reader f copiar filas en blanco si tu archivo csv contiene líneas en blanco entre filas de datos csv reader devuelve listas vacías para ellas fíltralas import csv with open data csv newline as f reader csv reader f for row in reader if not row skip blank lines continue print row copiar manejo de errores envuelve las operaciones de archivos en un bloque try except para manejar archivos no encontrados y errores de permisos de forma elegante import csv try with open data csv newline as f reader csv reader f for row in reader print row except filenotfounderror print error data csv was not found except permissionerror print error no permission to read data csv copiar csv vs pandas para archivos grandes el módulo csv es ideal para archivos pequeños a medianos hasta unos pocos cientos de mb scripts que no tienen pandas instalado situaciones donde necesitas un control detallado sobre la lectura y escritura para conjuntos de datos grandes filtrado complejo u operaciones de agregación la librería de terceros pandas proporciona pd read_csv y dataframe to_csv que son significativamente más rápidos y con más características integrando todo el siguiente ejemplo lee un archivo csv filtra filas según una condición y escribe los resultados filtrados en un nuevo archivo filtrar filas y escribir un nuevo archivo csv import csv input_file inventory csv output_file expensive csv with open input_file newline as infile open output_file w newline as outfile reader csv dictreader infile writer csv dictwriter outfile fieldnames reader fieldnames writer writeheader for row in reader if float row price 1 0 writer writerow row print f filtered rows written to output_file copiar este patrón abrir ambos archivos en el mismo bloque with transmitir filas del lector al escritor maneja archivos de cualquier tamaño sin cargar todo en memoria a la vez capítulos relacionados manejo de archivos en python abrir leer y escribir archivos de texto plano leer archivos en python leer contenido de archivos con read y readlines escribir y crear archivos en python escribir y agregar contenido a archivos python json trabajar con json otro formato común de intercambio de datos python try except manejar errores de archivo no encontrado y otras excepciones práctica práctica which csv module class maps each csv row to a dictionary keyed by column names which csv module class maps each csv row to a dictionary keyed by column names csv reader csv dictreader csv dictwriter csv writ...
|