Python lee y escribe Excel y otros archivos de datos

Python puede procesar archivos de datos de muchas maneras: los tipos de archivos que pueden utilizarse incluyen archivos de texto (csv, txt, json, etc.), archivos de Excel, archivos de bases de datos, api y otros archivos de datos.

Aquí hay algunas formas en que Python puede leer y escribir archivos de datos.

1. leer 、 readline 、 readlines

  • read (): lee todo el contenido del archivo a la vez. Se recomienda utilizar el método de lectura (tamaño), cuanto mayor sea el tamaño, mayor será el tiempo de ejecución

  • readline (): lee una línea a la vez. Se usa cuando no hay suficiente memoria, generalmente no se usa

  • readlines (): lea todo el contenido del archivo a la vez y regrese a la lista por línea para facilitar nuestro recorrido

2. Módulo incorporado csv

Python tiene un módulo csv incorporado para leer y escribir archivos csv. Csv es un archivo delimitado por comas y es uno de los formatos de almacenamiento de datos más comunes en la ciencia de datos. El módulo csv puede completar fácilmente las operaciones de lectura y escritura de varios datos de volumen. Por supuesto, la gran cantidad de datos requiere optimización a nivel de código.

  • archivo de lectura del módulo csv

# 读取csv文件
import csv
with open('test.csv','r') as myFile:
    lines=csv.reader(myFile)
    for line in lines:
        print (line)
  • archivo de escritura del módulo csv

import csv
with open('test.csv','w+') as myFile:
    myWriter=csv.writer(myFile)
    # writerrow一行一行写入
    myWriter.writerow([7,8,9])
    myWriter.writerow([8,'h','f'])
    # writerow多行写入
    myList=[[1,2,3],[4,5,6]]
    myWriter.writerows(myList)

 

3. biblioteca numpy

  • método loadtxt

loadtxt se usa para leer archivos de texto (incluidos txt, csv, etc.) y archivos comprimidos en formato .gz o .bz2, siempre que cada línea de datos de archivo debe tener el mismo número de valores.

import numpy as np
# loadtxt()中的dtype参数默认设置为float
# 这里设置为str字符串便于显示
np.loadtxt('test.csv',dtype=str)
# out:array(['1,2,3', '4,5,6', '7,8,9'], dtype='<U5')
  • método de carga

numpy dedicado a la lectura de la carga .npy.npz o el pickledarchivo persistente.

import numpy as np
# 先生成npy文件
np.save('test.npy', np.array([[1, 2, 3], [4, 5, 6]]))
# 使用load加载npy文件
np.load('test.npy')
'''
out:array([[1, 2, 3],
       [4, 5, 6]])
'''
  • método de archivo

El método fromfile puede leer datos de texto simples o datos binarios, y los datos provienen de los datos binarios guardados por el método tofile. Al leer datos, el usuario debe especificar el tipo de elemento y modificar la forma de la matriz de manera adecuada.

import numpy as np
x = np.arange(9).reshape(3,3)
x.tofile('test.bin')
np.fromfile('test.bin',dtype=np.int)
# out:array([0, 1, 2, 3, 4, 5, 6, 7, 8])

 

4. La biblioteca de los pandas

Pandas es una de las bibliotecas de análisis más utilizadas para el procesamiento de datos, puede leer archivos de datos en varios formatos y, en general, generar formatos de marcos de datos. Tales como: txt, csv, excel, json, portapapeles, base de datos, html, hdf, parquet, archivos encurtidos, sas, stata, etc.

  • El método read_csv El método read_csv se usa para leer el archivo de formato csv y generar el formato de trama de datos.

import pandas as pd
pd.read_csv('test.csv')
  • método read_excel

Leer archivos de Excel, incluidos los formatos xlsx, xls, xlsm

import pandas as pd
pd.read_excel('test.xlsx')
  • método read_table

Lea cualquier archivo de texto controlando el parámetro sep (separador)

  • método read_json

Leer archivo en formato json

df = pd.DataFrame([['a', 'b'], ['c', 'd']],index=['row 1', 'row 2'],columns=['col 1', 'col 2'])
j = df.to_json(orient='split')
pd.read_json(j,orient='split')
  • método read_html

Leer tabla html

  • método read_clipboard

Leer el contenido del portapapeles

  • método read_pickle

Leer archivos persistentes empaquetados

  • método read_sql

Lea los datos de la base de datos, después de conectarse a la base de datos, puede pasar la instrucción sql

  • método read_dhf

Leer archivos hdf5, adecuados para leer archivos grandes

  • método read_parquet

Leer archivo de parquet

  • método read_sas

Leer archivo sas

  • método read_stata

Leer archivo stata

  • método read_gbq

Leer datos de Google BigQuery

Sitio web de aprendizaje de pandas: https://pandas.pydata.org/

5. Leer y escribir archivos de Excel

Hay muchas bibliotecas de Python para leer y escribir archivos de Excel. Además de los pandas mencionados anteriormente, hay xlrd, xlwt, openpyxl, xlwings, etc.

Módulos principales:

  • biblioteca xlrd

Leer datos de Excel, soporte xls, xlsx

  • biblioteca xlwt

Modifique Excel, no admite la modificación del formato xlsx

  • biblioteca xlutils

En xlw y xlrd, modifique un archivo existente

  • openpyxl

Principalmente lee y edita Excel en formato xlsx

  • xlwings

Leer, escribir y modificar formatos como archivos de formato xlsx, xls y xlsm

  • xlsxwriter

Se utiliza para generar tablas de Excel, insertar datos, insertar iconos y otras operaciones de tabla, no admite lectura

  • API de Microsoft Excel

Necesita instalar pywin32, comunicarse directamente con el proceso de Excel, puede hacer cualquier cosa que se pueda hacer en Excel, pero es lento

6. Operar la base de datos

Python casi admite la interacción de todas las bases de datos. Después de conectarse a la base de datos, puede usar la instrucción SQL para agregar, eliminar, modificar y verificar.

Módulos principales:

  • pymysql

Se usa para interactuar con la base de datos mysql

  • sqlalchemy

Se usa para interactuar con la base de datos mysql

  • cx_Oracle

Se usa para interactuar con la base de datos Oracle

  • sqlite3

Biblioteca incorporada para la interacción con la base de datos sqlite

  • pymssql

Se usa para interactuar con la base de datos del servidor sql

  • pymongo

Se usa para interactuar con la base de datos no relacional mongodb

  • repetir 、 pyredis

Se usa para interactuar con la base de datos no relacional de redis

117 artículos originales publicados · 69 alabanzas · 10,000+ vistas

Supongo que te gusta

Origin blog.csdn.net/zsd0819qwq/article/details/105321881
Recomendado
Clasificación