2017-06-20 111 views
1

有没有将JSON,XML或CSV数据发送到本地MySQL服务器的方法?将JSON或XML或CSV数据添加到MySQL服务器

我是MySQL新手,无法在网上找到任何东西。

两种数据类型都可以工作,因为我的代码可以将所有数据转换为我需要的任何格式,即JSON,XML和CSV。

任何帮助表示赞赏!

回答

3

1)。我打算给你答案JSON >>如何使用python在JSON数据库中存储JSON数据?

如果你的JSON格式下,你想联想存储在MySQL database >> table那么你可以按照第一个例子。

实施例:1

JSON格式

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

为JSON的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)) 

如果你只想在一列中存储数据,那么你可以按照下面的第二个。

实施例: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在MySQL数据库中存储XML数据?

XML数据

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

下一步是:请安装用于将XML转换成JSON Python脚本从我们核心的Python脚本here进口和import xml2json

的Python核心脚本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)。让我们讨论CSV >>如何使用 python将CSV数据存储在MySQL DB中?

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

,我不知道反正直接插入JSON,XML或CSV到MySQL数据库。

您可以通过使用模块(如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()