2017-06-20 17 views
1

JSON、XML、またはCSVデータをローカルMySQLサーバに送信する方法はありますか?JSONまたはXMLまたはCSVデータをMySQLサーバに追加

私はMySQLを初めて使い、オンラインで何かを見つけることができませんでした。

すべてのデータを必要な形式(JSON、XML、およびCSV)に変換できるコードがあるため、いずれのデータ型も機能します。

ご協力いただきましてありがとうございます。

答えて

3

1)。私はあなたにJSONの答えを与えるつもりです>>Pythonを使用してMySQL DBにJSONデータを保存する方法は?

あなたのJSON形式は、次のされていて、MySQLのdatabase >> tableに連想保存したい場合は、あなたが最初の例に従うことができます。

例:JSON 1

JSON形式

{ 
"first_key" : 10, 
"second_key" : 20 
} 

Pythonのコアスクリプト。

import MySQLdb 

myjson = json.loads(jdata) 

def dbconnect(): 
    try: 
     db = MySQLdb.connect(
      host='localhost', 
      user='root', 
      passwd='', 
      db='myjson_db' 
     ) 
    except Exception as e: 
     sys.exit("Can't connect to database") 
    return db 

cursor = db.cursor() 

sql = """INSERT INTO my_table (array_key, array_value) VALUES (%s, %s)""" 

for array_key, array_value in myjson.items(): 
    cursor.execute(sql, (array_key, array_value)) 

データを1つの列に格納する場合は、次のように2番目の列に従うことができます。

例:2

import MySQLdb 

myjson = json.loads(jdata) 

def dbconnect(): 
    try: 
     db = MySQLdb.connect(
      host='localhost', 
      user='root', 
      passwd='', 
      db='myjson_db' 
     ) 
    except Exception as e: 
     sys.exit("Can't connect to database") 
    return db 

cursor = db.cursor() 

sql = """INSERT INTO my_table (json_column) VALUES (%s)""" 

cursor.execute(sql, (myjson)) 

2)。 XMLで始めること>> pythonを使用してXMLデータをMySQL DBに保存する方法は?

XMLデータ

<?xml version="1.0" encoding="UTF-8" ?> 
<first_key>10</first_key> 
<second_key>20</second_key> 

次のステップは次のとおりです。インストールしてください:PythonスクリプトをJSONに変換するXMLのための私達のPythonのコアスクリプトでhereインポートおよびimport xml2jsonから。

XML

import MySQLdb 
import xml2json 
import json 

xml_data = json.loads(xml2json.xml2json(xmldata)) 

### data store functionality or logic is same as example 1 and example 2 
def dbconnect(): 
    try: 
     db = MySQLdb.connect(
      host='localhost', 
      user='root', 
      passwd='', 
      db='myxml_db' 
     ) 
    except Exception as e: 
     sys.exit("Can't connect to database") 
    return db 

cursor = db.cursor() 

sql = """INSERT INTO my_table (xml_data) VALUES (%s)""" 

cursor.execute(sql, (xml_data)) 

3用

Pythonのコアスクリプト)。 CSVについて話し合いましょう>> pythonを使用してMySQL DBにCSVデータを保存する方法は?

import csv 
import MySQLdb 

csv_data = csv.reader(file('my_csv_file.csv')) 

def dbconnect(): 
    try: 
     db = MySQLdb.connect(
      host='localhost', 
      user='root', 
      passwd='', 
      db='mycsv_db' 
     ) 
    except Exception as e: 
     sys.exit("Can't connect to database") 
    return db 

for row in csv_data: 

    cursor.execute('INSERT INTO my_csv_table(csv_first_column, \ 
      csv_first_column)' \ 
      'VALUES("%s", "%s")', 
      row) 
0

私はとにかく直接MySQLデータベースにJSON、XMLやCSVを挿入するのを知らないんです。

MySQL-pythonなどのモジュールを使用して、データをデータベースに挿入できるスクリプトにデータを解析することができます。

私のpythonは素晴らしくはありませんが、うまくいけば、この例で十分です。

#!usr/bin/python 
# Import mySQL module to interact with database. 
import MySQLdb 
# Import json module to convert the JSON into a Python data structure. 
import json 

# Convert the JSON to a usable format. 
data = json.loads(yourjson) 

# Connect to MySQL server. 
db = mySQLdb.connect(host='yourhost', 
        user='youruser', 
        passwd='yourpassword', 
        db='yourschema') 

# Create an object to handle SQL statements. 
cur = db.cursor() 

# Attempt to execute the SQL statement, if not revert any changes. 
try: 
    cur.execute('INSERT INTO table SET col1 = %s, col2 = %s', data.foo, data.bar) 
    db.commit() 
except: 
    db.rollback() 
関連する問題