Existem várias maneiras de o Python processar arquivos de dados: os tipos de arquivos que podem ser operados incluem arquivos de texto (csv, txt, json etc.), arquivos do excel, arquivos de banco de dados, API e outros arquivos de dados.
Aqui estão algumas maneiras pelas quais o python pode ler e gravar arquivos de dados.
1. leia 、 readline 、 readlines
-
read (): leia todo o conteúdo do arquivo de uma só vez. É recomendável usar o método de leitura (tamanho), quanto maior o tamanho, maior o tempo de execução
-
readline (): lê uma linha de cada vez. Usado quando há memória insuficiente, geralmente não é usado
-
readlines (): leia todo o conteúdo do arquivo de uma só vez e retorne à lista por linha para facilitar nossa passagem
2. Módulo embutido CSV
O Python possui um módulo csv integrado para leitura e gravação de arquivos csv, que é um arquivo delimitado por vírgulas e é um dos formatos mais comuns de armazenamento de dados na ciência de dados. O módulo csv pode facilmente concluir as operações de leitura e gravação de vários dados de volume.Claro, a grande quantidade de dados requer otimização no nível do código.
-
arquivo de leitura do módulo csv
# 读取csv文件
import csv
with open('test.csv','r') as myFile:
lines=csv.reader(myFile)
for line in lines:
print (line)
-
arquivo de gravação do 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
O loadtxt é usado para ler arquivos de texto (incluindo txt, csv etc.) e arquivos compactados no formato .gz ou .bz2, desde que cada linha de dados do arquivo tenha o mesmo 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 carregamento
numpy dedicado para a carga de leitura .npy
, .npz
ou o pickled
arquivo 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 fromfile
O método fromfile pode ler dados de texto simples ou dados binários, e os dados provêm dos dados binários salvos pelo método tofile. Ao ler dados, o usuário precisa especificar o tipo de elemento e modificar a forma da matriz de forma adequada.
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. A biblioteca dos pandas
O Pandas é uma das bibliotecas de análise mais comumente usadas para processamento de dados, pois pode ler arquivos de dados em vários formatos e geralmente gerar formatos de quadro de dados. Tais como: txt, csv, excel, json, área de transferência, banco de dados, html, hdf, parquet, arquivos em conserva, sas, stata, etc.
-
O método read_csv O método read_csv é usado para ler o arquivo no formato csv e gerar o formato do quadro de dados.
import pandas as pd
pd.read_csv('test.csv')
-
método read_excel
Leia arquivos do Excel, incluindo o formato xlsx, xls, xlsm
import pandas as pd
pd.read_excel('test.xlsx')
-
método read_table
Leia qualquer arquivo de texto controlando o parâmetro sep (separador)
-
método read_json
Ler arquivo no 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
Ler tabela html
-
método read_clipboard
Ler o conteúdo da área de transferência
-
método read_pickle
Ler arquivos persistentes conectados
-
método read_sql
Leia os dados do banco de dados, depois de conectar-se ao banco de dados, basta passar o SQL
-
método read_dhf
Leia arquivos hdf5, adequados para ler arquivos grandes
-
método read_parquet
Ler arquivo de parquet
-
método read_sas
Ler arquivo sas
-
método read_stata
Ler arquivo stata
-
método read_gbq
Leia dados do Google bigquery
Site de aprendizado do Pandas: https://pandas.pydata.org/
5. Leia e grave arquivos do excel
Existem muitas bibliotecas Python para leitura e gravação de arquivos Excel, além dos pandas mencionados acima, existem xlrd, xlwt, openpyxl, xlwings e assim por diante.
Módulos principais:
-
biblioteca xlrd
Leia dados do excel, suporte xls, xlsx
-
biblioteca xlwt
Modifique o excel, não dê suporte à modificação do formato xlsx
-
biblioteca xlutils
Nos xlw e xlrd, modifique um arquivo existente
-
openpyxl
Leia e edite principalmente o Excel no formato xlsx
-
xlwings
Leia, grave e modifique formatos como arquivos de formato xlsx, xls e xlsm
-
xlsxwriter
Usado para gerar tabelas do Excel, inserir dados, inserir ícones e outras operações da tabela, não suporta leitura
-
API do Microsoft Excel
Precisa instalar o pywin32, se comunicar diretamente com o processo do Excel, pode fazer qualquer coisa que possa ser feita no Excel, mas é lento
6. Opere o banco de dados
O Python quase suporta a interação de todos os bancos de dados.Depois de conectar-se ao banco de dados, você pode usar a instrução SQL para adicionar, excluir, modificar e verificar.
Módulos principais:
-
pymysql
Usado para interagir com o banco de dados mysql
-
sqlalchemy
Usado para interagir com o banco de dados mysql
-
cx_Oracle
Usado para interagir com o banco de dados oracle
-
sqlite3
Biblioteca interna para interação com o banco de dados sqlite
-
pymssql
Usado para interagir com o banco de dados do servidor sql
-
pymongo
Usado para interagir com o banco de dados não relacional do mongodb
-
repita 、 piredis
Usado para interagir com o banco de dados não relacional redis