você está aqui: Home  → Arquivo de Mensagens Você sabia que o bitcoin valorizou 102% só em 2020?

Atualizar banco de dados MySQL com arquivo csv e Python

Colaboração: Felipe Santos

Data de Publicação: 28 de julho de 2015

Recentemente tive que realizar atualizar um Banco de dados MySQL local com dados de um servidor remoto.

No servidor remoto criei um script simples em shell que cria um arquivo csv e envia via scp para meu servidor local (segue exemplo):

#!/bin/bash
ifconfig | grep eth | awk -F " " '{print $1","$7}' > dados.csv
scp -P447 dados.csv felipe@192.168.56.1:.

No exemplo acima obtenho os dados e o endereço MAC das minhas placas ethernet.

Depois criei um script em python para executar esse script remotamente e inserir os dados do arquivo csv em meu banco de dados.

#!/usr/bin/python
import mysql.connector
import csv
import os
import commands

os.system("ssh servidor_remoto 'cd $HOME ; ./geracsv.sh'")

db = mysql.connector.connect(host="localhost", port="3306", user="root", passwd="root", database="bd")
cursor = db.cursor()
insert_dados = "REPLACE INTO ifcon (interface, mac) VALUES (%s, %s)"

with open('/home/felipe/dados.csv', 'rb') as csv_file:
   csv_reader = csv.reader(csv_file, delimiter=',')
   for dados in csv_reader:
       cursor.execute(insert_dados, dados)
       db.commit()

cursor.close()
db.close()


Veja a relação completa dos artigos de Felipe Santos