python错误处理

连接数据库时的编码问题

报错

python编码错误:UnicodeDecodeError: 'utf8' codec can't decode

或者UnicodeDecodeError: 'ascii' codec can't decode byte 0xcf in position 7: ordinal not in range(128)

考虑使用如下方法http://www.jb51.net/article/59297.htm

代码如下

1
2
3
4
5
6
7
8
#coding:utf-8
import sys
reload(sys)
sys.setdefaultencoding('utf8')
 
import mysql.connector
 
cnx =mysql.connector.connect(user='bitbear',password='bittest123',host='101.201.50.1',database='bitbear',charset='utf8')

参考https://www.liaoxuefeng.com/wiki/001374738125095c955c1e6d8bb493182103fac9270762a000/001391435131816c6a377e100ec4d43b3fc9145f3bb8056000

 

复制代码
#coding:utf-8
import sys
reload(sys)
sys.setdefaultencoding('utf8')

import mysql.connector

conn =mysql.connector.connect(user='bitbear',password='bittest123',host='101.201.50.1',database='bitbear',charset='utf8')


cursor = conn.cursor()

cursor.execute('create table usertest (id varchar(20) primary key, name varchar(20))')

cursor.execute('insert into usertest (id, name) values (%s, %s)', ['1', 'Michael'])

cursor.rowcount

conn.commit()

cursor.close()
View Code
复制代码

 

  参考:http://www.cnblogs.com/bigberg/p/6430095.html

数据库汇总usertest1.py中id字段为自增的情况下,向其中插入json

复制代码
#coding:utf-8
import sys
reload(sys)
sys.setdefaultencoding('utf8')

import mysql.connector
import json

test_dict = {'bigberg': [7600, {1: [['iPhone', 6300], ['Bike', 800], ['shirt', 300]]}]}
print(test_dict)
print(type(test_dict))

json_str = json.dumps(test_dict)
print(json_str)
print(type(json_str))

#####

conn =mysql.connector.connect(user='bitbear',password='bittest123',host='101.201.50.1',database='bitbear',charset='utf8')

cursor = conn.cursor()

#cursor.execute('create table usertest (id varchar(20) primary key, name varchar(20))')

cursor.execute('insert into usertest1 ( name) values ( %s)', [ json_str])

cursor.rowcount

conn.commit()

cursor.close()
View Code
复制代码

 

  使用本地文件读取,参考:http://blog.csdn.net/dyx404514/article/details/50186413

将json数据存储在my.json中,打开后存到变量x中,格式为字符串,然后可以直接写到数据库中,代码如下

复制代码
#coding:utf-8
import sys
reload(sys)
sys.setdefaultencoding('utf8')

import mysql.connector
import json as js

#f = file('./my.json')
#x=js.loads(f)
#print x


with open('./my.json', 'r') as f:
    x=f.read()
    print type(x)


#####

conn =mysql.connector.connect(user='bitbear',password='bittest123',host='101.201.50.1',database='bitbear',charset='utf8')

cursor = conn.cursor()

#cursor.execute('create table usertest (id varchar(20) primary key, name varchar(20))')

cursor.execute('insert into usertest1 ( name) values ( %s)', [x])

cursor.rowcount

conn.commit()

cursor.close()
View Code
复制代码

 

使用pycharm2017+python3.6连接数据库时无法导入mysql以及mysqldb

mysqldb暂不支持python3.6,使用pymysql

参考:https://www.cnblogs.com/hank-chen/p/6624299.html

pycharm激活

http://blog.csdn.net/mr_hhh/article/details/79062747

 

posted @   JarvisLau  阅读(180)  评论(0编辑  收藏  举报
编辑推荐:
· 如何打造一个高并发系统?
· .NET Core GC压缩(compact_phase)底层原理浅谈
· 现代计算机视觉入门之:什么是图片特征编码
· .NET 9 new features-C#13新的锁类型和语义
· Linux系统下SQL Server数据库镜像配置全流程详解
阅读排行:
· Sdcb Chats 技术博客:数据库 ID 选型的曲折之路 - 从 Guid 到自增 ID,再到
· Winform-耗时操作导致界面渲染滞后
· Phi小模型开发教程:C#使用本地模型Phi视觉模型分析图像,实现图片分类、搜索等功能
· 语音处理 开源项目 EchoSharp
· drools 规则引擎和 solon-flow 哪个好?solon-flow 简明教程
历史上的今天:
2015-11-26 启动安卓模拟器时出现问题
2015-11-26 emmet教程
2015-11-26 火狐Vimperator插件
2015-11-26 adroid sdk安装
点击右上角即可分享
微信分享提示