Manufactura industrial
Internet industrial de las cosas | Materiales industriales | Mantenimiento y reparación de equipos | Programación industrial |
home  MfgRobots >> Manufactura industrial >  >> Industrial programming >> python

Cómo leer y escribir archivos CSV en Python: Guía completa

Cómo leer y escribir archivos CSV en Python: Guía completa

¿Qué es un archivo CSV?

Un archivo CSV (Valores Separados por Comas) almacena datos tabulares en texto plano. Cada línea representa una fila, y los campos individuales están separados por una coma, punto y coma u otro delimitador. Los archivos CSV son ligeros, ampliamente compatibles con hojas de cálculo, bases de datos y herramientas de análisis de datos, lo que los convierte en un formato preferido para intercambio de datos.

Archivo CSV de ejemplo

A continuación se muestra una representación CSV típica de una pequeña base de datos de lenguajes de programación. La primera fila contiene encabezados de columna, seguidos por filas de datos.

Datos de tabla

Lenguaje de programaciónDiseñado porAparecióExtensión
PythonGuido van Rossum1991.py
JavaJames Gosling1995.java
C++Bjarne Stroustrup1983.cpp

Datos CSV

Lenguaje de programación,Diseñado por,Apareció,Extensión
Python,Guido van Rossum,1991,.py
Java,James Gosling,1995,.java
C++,Bjarne Stroustrup,1983,.cpp

Módulo csv integrado de Python

El módulo csv proporciona herramientas de bajo nivel para leer y escribir archivos CSV. Maneja automáticamente comillas, delimitadores y terminadores de línea, reduciendo la necesidad de manipulación manual de cadenas.

Funciones clave

Lectura de un archivo CSV

A continuación se muestra un ejemplo mínimo, listo para producción, que lee un archivo CSV e imprime cada fila como lista de Python.

import csv
with open('datos.csv', mode='r', newline='', encoding='utf-8') as archivo:
    lector = csv.reader(archivo)
    for fila in lector:
        print(fila)

La salida será:

["Lenguaje de programación", "Diseñado por", "Apareció", "Extensión"]
["Python", "Guido van Rossum", "1991", ".py"]
["Java", "James Gosling", "1995", ".java"]
["C++", "Bjarne Stroustrup", "1983", ".cpp"]

Lectura de CSV en un diccionario

Usando csv.DictReader mapea automáticamente la fila de encabezado a claves de diccionario, simplificando el manejo de datos.

import csv
with open('datos.csv', mode='r', newline='', encoding='utf-8') as archivo:
    lector = csv.DictReader(archivo)
    for fila in lector:
        print(fila)

Diccionarios resultantes:

{"Lenguaje de programación": "Python", "Diseñado por": "Guido van Rossum", "Apareció": "1991", "Extensión": ".py"}
{"Lenguaje de programación": "Java", "Diseñado por": "James Gosling", "Apareció": "1995", "Extensión": ".java"}
{"Lenguaje de programación": "C++", "Diseñado por": "Bjarne Stroustrup", "Apareció": "1983", "Extensión": ".cpp"}

Escritura de un archivo CSV

Las clases csv.writer y csv.DictWriter te permiten escribir datos eficientemente.

import csv
filas = [
    ["Lenguaje de programación", "Diseñado por", "Apareció", "Extensión"],
    ["Python", "Guido van Rossum", "1991", ".py"],
    ["Java", "James Gosling", "1995", ".java"],
    ["C++", "Bjarne Stroustrup", "1983", ".cpp"],
]
with open('escribirDatos.csv', mode='w', newline='', encoding='utf-8') as archivo:
    escritor = csv.writer(archivo, delimiter=',', quotechar='"', quoting=csv.QUOTE_MINIMAL)
    escritor.writerows(filas)

El escribirDatos.csv generado coincidirá con la muestra original.

Usando Pandas para operaciones CSV

Pandas simplifica el manejo de CSV cargando datos en un DataFrame, permitiendo manipulación potente de datos con código mínimo. Instala con pip install pandas si no está disponible.

Lectura con Pandas

import pandas as pd
df = pd.read_csv('datos.csv')
print(df)

Salida:

  Lenguaje de programación   Diseñado por  Apareció Extensión
0  Python                 Guido van Rossum  1991    .py
1  Java                   James Gosling     1995    .java
2  C++                    Bjarne Stroustrup 1983    .cpp

Escritura con Pandas

import pandas as pd
datos = {
    'Lenguaje de programación': ['Python', 'Java', 'C++'],
    'Diseñado por': ['Guido van Rossum', 'James Gosling', 'Bjarne Stroustrup'],
    'Apareció': ['1991', '1995', '1983'],
    'Extensión': ['.py', '.java', '.cpp'],
}
df = pd.DataFrame(datos)
df.to_csv('resultado_pandas.csv', index=False)
print(df)

El CSV resultante es idéntico al original, pero el DataFrame ofrece capacidades avanzadas de análisis.

Conclusión

El módulo csv de Python y Pandas proporcionan herramientas robustas y fáciles de usar para leer, escribir y manipular archivos CSV. Dominar estas librerías desbloquea flujos de trabajo de datos eficientes en servicios web, pipelines ETL e investigación científica. ¡Comienza a experimentar hoy e integra el manejo de CSV en tus proyectos con confianza!

python

  1. Inicialización de RAM de bloques FPGA desde archivos de texto usando la biblioteca TEXTIO de VHDL
  2. Palabras clave e identificadores en Python: Dominando palabras reservadas y convenciones de nomenclatura
  3. Sentencias, indentación y comentarios en Python: Guía clara
  4. Variables, constantes y literales en Python – Guía completa
  5. Dominando conversión y casting de tipos en Python: Guía completa
  6. Dominando E/S e importación de módulos en Python: Guía práctica
  7. Entendiendo variables globales, locales y nonlocal en Python
  8. Entrada/Salida de Archivos en Python: Dominando Operaciones de Lectura, Escritura y Gestión
  9. Dominando Operaciones de Directorios y Archivos en Python
  10. Dominando Errores y Excepciones Integradas en Python
  11. Obtener la Fecha y Hora Actual en Python: Guía Práctica