insert JSON values into a MySQL table using python
up vote
1
down vote
favorite
I have a JSON file recover from requests.get
here is some of my JSON:
[{"order":{"id":"B4589B26","status_order_id":5,"status_order_name":"Sent","customer_id":326
"order_products":[{"order_product":{"id":96218,"order_id":96538,"product_id":59320,}}],"customer_email":"user@gmail.com","customer_company":"SARL","customer_name":"user user", .....
here is my code:
token = "xxxx"
r = requests.get('url', auth=('user@gmail.com', token))
mydb = pymysql.connect(host='localhost',
user='root',
passwd='user',
db='ytm_db')
cursor = mydb.cursor()
data = r.json()
json_obj = json.loads(r)
for ord in json_obj["order"]:
print("id:", ord["id"])
print("status_id:", ord["status_order_id"])
print('---')
cursor.execute("INSERT INTO table_test (id, status_order_id, customer_id) VALUES (%s,%s,%s)", (ord["id"], ord["status_order_id"], ord["customer_id"]))
#close the connection to the database.
mydb.commit()
cursor.close()
print ("Done")
I have this error:
'not {!r}'.format(s.__class__.__name__))
TypeError: the JSON object must be str, bytes or bytearray, not 'Response'
python mysql json python-requests
add a comment |
up vote
1
down vote
favorite
I have a JSON file recover from requests.get
here is some of my JSON:
[{"order":{"id":"B4589B26","status_order_id":5,"status_order_name":"Sent","customer_id":326
"order_products":[{"order_product":{"id":96218,"order_id":96538,"product_id":59320,}}],"customer_email":"user@gmail.com","customer_company":"SARL","customer_name":"user user", .....
here is my code:
token = "xxxx"
r = requests.get('url', auth=('user@gmail.com', token))
mydb = pymysql.connect(host='localhost',
user='root',
passwd='user',
db='ytm_db')
cursor = mydb.cursor()
data = r.json()
json_obj = json.loads(r)
for ord in json_obj["order"]:
print("id:", ord["id"])
print("status_id:", ord["status_order_id"])
print('---')
cursor.execute("INSERT INTO table_test (id, status_order_id, customer_id) VALUES (%s,%s,%s)", (ord["id"], ord["status_order_id"], ord["customer_id"]))
#close the connection to the database.
mydb.commit()
cursor.close()
print ("Done")
I have this error:
'not {!r}'.format(s.__class__.__name__))
TypeError: the JSON object must be str, bytes or bytearray, not 'Response'
python mysql json python-requests
add a comment |
up vote
1
down vote
favorite
up vote
1
down vote
favorite
I have a JSON file recover from requests.get
here is some of my JSON:
[{"order":{"id":"B4589B26","status_order_id":5,"status_order_name":"Sent","customer_id":326
"order_products":[{"order_product":{"id":96218,"order_id":96538,"product_id":59320,}}],"customer_email":"user@gmail.com","customer_company":"SARL","customer_name":"user user", .....
here is my code:
token = "xxxx"
r = requests.get('url', auth=('user@gmail.com', token))
mydb = pymysql.connect(host='localhost',
user='root',
passwd='user',
db='ytm_db')
cursor = mydb.cursor()
data = r.json()
json_obj = json.loads(r)
for ord in json_obj["order"]:
print("id:", ord["id"])
print("status_id:", ord["status_order_id"])
print('---')
cursor.execute("INSERT INTO table_test (id, status_order_id, customer_id) VALUES (%s,%s,%s)", (ord["id"], ord["status_order_id"], ord["customer_id"]))
#close the connection to the database.
mydb.commit()
cursor.close()
print ("Done")
I have this error:
'not {!r}'.format(s.__class__.__name__))
TypeError: the JSON object must be str, bytes or bytearray, not 'Response'
python mysql json python-requests
I have a JSON file recover from requests.get
here is some of my JSON:
[{"order":{"id":"B4589B26","status_order_id":5,"status_order_name":"Sent","customer_id":326
"order_products":[{"order_product":{"id":96218,"order_id":96538,"product_id":59320,}}],"customer_email":"user@gmail.com","customer_company":"SARL","customer_name":"user user", .....
here is my code:
token = "xxxx"
r = requests.get('url', auth=('user@gmail.com', token))
mydb = pymysql.connect(host='localhost',
user='root',
passwd='user',
db='ytm_db')
cursor = mydb.cursor()
data = r.json()
json_obj = json.loads(r)
for ord in json_obj["order"]:
print("id:", ord["id"])
print("status_id:", ord["status_order_id"])
print('---')
cursor.execute("INSERT INTO table_test (id, status_order_id, customer_id) VALUES (%s,%s,%s)", (ord["id"], ord["status_order_id"], ord["customer_id"]))
#close the connection to the database.
mydb.commit()
cursor.close()
print ("Done")
I have this error:
'not {!r}'.format(s.__class__.__name__))
TypeError: the JSON object must be str, bytes or bytearray, not 'Response'
python mysql json python-requests
python mysql json python-requests
edited Nov 11 at 3:30
Cœur
17k9102140
17k9102140
asked Aug 1 at 11:20
user_1330
355
355
add a comment |
add a comment |
2 Answers
2
active
oldest
votes
up vote
0
down vote
You do not need this line json_obj = json.loads(r)
. r.json()
returns you a json response.
Ex:
json_obj = r.json()
for ord in json_obj["order"]:
print("id:", ord["id"])
print("status_id:", ord["status_order_id"])
print('---')
cursor.execute("INSERT INTO table_test (id, status_order_id, customer_id) VALUES (%s,%s,%s)", (ord["id"], ord["status_order_id"], ord["customer_id"]))
#close the connection to the database.
mydb.commit()
cursor.close()
I tried with this code but I have this error : ** for ord in json_obj["order"]: TypeError: list indices must be integers or slices, not str** @Rakesh you have an idea please?
– user_1330
Aug 1 at 11:52
Looks likejson_obj
is a list try iterating it first
– Rakesh
Aug 1 at 11:54
I am a beginner in python I did not understand, can you explain how to do or what to look for, please!
– user_1330
Aug 1 at 13:26
add a comment |
up vote
0
down vote
accepted
this is the right solution :
json_obj = r.json()
for ord in json_obj:
print("id:", ord["order"]["id"])
print("status_id:", ord["order"]["status_order_id"])
print('---')
cursor.execute("INSERT INTO table_test (id, status_order_id, customer_id) VALUES (%s,%s,%s)", (ord["order"]["id"], ord["order"]["status_order_id"], ord["order"]["customer_id"]))
#close the connection to the database.
mydb.commit()
cursor.close()
add a comment |
2 Answers
2
active
oldest
votes
2 Answers
2
active
oldest
votes
active
oldest
votes
active
oldest
votes
up vote
0
down vote
You do not need this line json_obj = json.loads(r)
. r.json()
returns you a json response.
Ex:
json_obj = r.json()
for ord in json_obj["order"]:
print("id:", ord["id"])
print("status_id:", ord["status_order_id"])
print('---')
cursor.execute("INSERT INTO table_test (id, status_order_id, customer_id) VALUES (%s,%s,%s)", (ord["id"], ord["status_order_id"], ord["customer_id"]))
#close the connection to the database.
mydb.commit()
cursor.close()
I tried with this code but I have this error : ** for ord in json_obj["order"]: TypeError: list indices must be integers or slices, not str** @Rakesh you have an idea please?
– user_1330
Aug 1 at 11:52
Looks likejson_obj
is a list try iterating it first
– Rakesh
Aug 1 at 11:54
I am a beginner in python I did not understand, can you explain how to do or what to look for, please!
– user_1330
Aug 1 at 13:26
add a comment |
up vote
0
down vote
You do not need this line json_obj = json.loads(r)
. r.json()
returns you a json response.
Ex:
json_obj = r.json()
for ord in json_obj["order"]:
print("id:", ord["id"])
print("status_id:", ord["status_order_id"])
print('---')
cursor.execute("INSERT INTO table_test (id, status_order_id, customer_id) VALUES (%s,%s,%s)", (ord["id"], ord["status_order_id"], ord["customer_id"]))
#close the connection to the database.
mydb.commit()
cursor.close()
I tried with this code but I have this error : ** for ord in json_obj["order"]: TypeError: list indices must be integers or slices, not str** @Rakesh you have an idea please?
– user_1330
Aug 1 at 11:52
Looks likejson_obj
is a list try iterating it first
– Rakesh
Aug 1 at 11:54
I am a beginner in python I did not understand, can you explain how to do or what to look for, please!
– user_1330
Aug 1 at 13:26
add a comment |
up vote
0
down vote
up vote
0
down vote
You do not need this line json_obj = json.loads(r)
. r.json()
returns you a json response.
Ex:
json_obj = r.json()
for ord in json_obj["order"]:
print("id:", ord["id"])
print("status_id:", ord["status_order_id"])
print('---')
cursor.execute("INSERT INTO table_test (id, status_order_id, customer_id) VALUES (%s,%s,%s)", (ord["id"], ord["status_order_id"], ord["customer_id"]))
#close the connection to the database.
mydb.commit()
cursor.close()
You do not need this line json_obj = json.loads(r)
. r.json()
returns you a json response.
Ex:
json_obj = r.json()
for ord in json_obj["order"]:
print("id:", ord["id"])
print("status_id:", ord["status_order_id"])
print('---')
cursor.execute("INSERT INTO table_test (id, status_order_id, customer_id) VALUES (%s,%s,%s)", (ord["id"], ord["status_order_id"], ord["customer_id"]))
#close the connection to the database.
mydb.commit()
cursor.close()
answered Aug 1 at 11:30
Rakesh
35.8k113769
35.8k113769
I tried with this code but I have this error : ** for ord in json_obj["order"]: TypeError: list indices must be integers or slices, not str** @Rakesh you have an idea please?
– user_1330
Aug 1 at 11:52
Looks likejson_obj
is a list try iterating it first
– Rakesh
Aug 1 at 11:54
I am a beginner in python I did not understand, can you explain how to do or what to look for, please!
– user_1330
Aug 1 at 13:26
add a comment |
I tried with this code but I have this error : ** for ord in json_obj["order"]: TypeError: list indices must be integers or slices, not str** @Rakesh you have an idea please?
– user_1330
Aug 1 at 11:52
Looks likejson_obj
is a list try iterating it first
– Rakesh
Aug 1 at 11:54
I am a beginner in python I did not understand, can you explain how to do or what to look for, please!
– user_1330
Aug 1 at 13:26
I tried with this code but I have this error : ** for ord in json_obj["order"]: TypeError: list indices must be integers or slices, not str** @Rakesh you have an idea please?
– user_1330
Aug 1 at 11:52
I tried with this code but I have this error : ** for ord in json_obj["order"]: TypeError: list indices must be integers or slices, not str** @Rakesh you have an idea please?
– user_1330
Aug 1 at 11:52
Looks like
json_obj
is a list try iterating it first– Rakesh
Aug 1 at 11:54
Looks like
json_obj
is a list try iterating it first– Rakesh
Aug 1 at 11:54
I am a beginner in python I did not understand, can you explain how to do or what to look for, please!
– user_1330
Aug 1 at 13:26
I am a beginner in python I did not understand, can you explain how to do or what to look for, please!
– user_1330
Aug 1 at 13:26
add a comment |
up vote
0
down vote
accepted
this is the right solution :
json_obj = r.json()
for ord in json_obj:
print("id:", ord["order"]["id"])
print("status_id:", ord["order"]["status_order_id"])
print('---')
cursor.execute("INSERT INTO table_test (id, status_order_id, customer_id) VALUES (%s,%s,%s)", (ord["order"]["id"], ord["order"]["status_order_id"], ord["order"]["customer_id"]))
#close the connection to the database.
mydb.commit()
cursor.close()
add a comment |
up vote
0
down vote
accepted
this is the right solution :
json_obj = r.json()
for ord in json_obj:
print("id:", ord["order"]["id"])
print("status_id:", ord["order"]["status_order_id"])
print('---')
cursor.execute("INSERT INTO table_test (id, status_order_id, customer_id) VALUES (%s,%s,%s)", (ord["order"]["id"], ord["order"]["status_order_id"], ord["order"]["customer_id"]))
#close the connection to the database.
mydb.commit()
cursor.close()
add a comment |
up vote
0
down vote
accepted
up vote
0
down vote
accepted
this is the right solution :
json_obj = r.json()
for ord in json_obj:
print("id:", ord["order"]["id"])
print("status_id:", ord["order"]["status_order_id"])
print('---')
cursor.execute("INSERT INTO table_test (id, status_order_id, customer_id) VALUES (%s,%s,%s)", (ord["order"]["id"], ord["order"]["status_order_id"], ord["order"]["customer_id"]))
#close the connection to the database.
mydb.commit()
cursor.close()
this is the right solution :
json_obj = r.json()
for ord in json_obj:
print("id:", ord["order"]["id"])
print("status_id:", ord["order"]["status_order_id"])
print('---')
cursor.execute("INSERT INTO table_test (id, status_order_id, customer_id) VALUES (%s,%s,%s)", (ord["order"]["id"], ord["order"]["status_order_id"], ord["order"]["customer_id"]))
#close the connection to the database.
mydb.commit()
cursor.close()
answered Aug 7 at 12:38
user_1330
355
355
add a comment |
add a comment |
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f51632003%2finsert-json-values-into-a-mysql-table-using-python%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown