Python pymysql写入数据库报错
迷茫
迷茫 2017-04-18 09:20:01
0
1
837

我在用Python pymysql写入数据库时一直报错:
pymysql.err.InternalError: (1366, u"Incorrect decimal value: 'xa0' for column 'zuojiesuan' at row 1")
百度的结果是编码问题,我不知道具体怎么解决?

-- coding: utf-8 --

import urllib2
import pymysql
import time
from bs4 import BeautifulSoup

today = time.strftime('%Y-%m-%d',time.localtime(time.time()))

loginHeaders = {

'Host':'www.czce.com.cn',
'User-Agent':'Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/51.0.2704.106 Safari/537.36',
'Referer':'http://www.czce.com.cn/portal/jysj/mrhq/A091101index_1.htm',
'Content-Type':'text/html',
'Connection':'keep-alive'

}
url='http://www.czce.com.cn/portal...'
request = urllib2.Request(url, headers=loginHeaders)
opener = urllib2.build_opener()
response = opener.open(request)
content = response.read().decode('gbk').replace("</tr>","").replace("<tr>","")
soup = BeautifulSoup(content,'lxml').findAll(id="senfe")[0]
table = soup.text.split("n")
conn = pymysql.connect(host="192.168.1.98",user="root",passwd="root",db="test",charset='utf8')
cur = conn.cursor()
'''
cur.execute('create table zhujiagewang(id INT(10),'

        'updatetime TIMESTAMP, '
        'collecttime DATE,'
        'pinzhongyuefen VARCHAR(10),'
        'zuojiesuan DECIMAL(10,2),'
        'jinkaipan DECIMAL(10,2),'
        'zuigaojia DECIMAL(10,2),'
        'zuidijai DECIMAL(10,2),'
        'jinshoupan DECIMAL(10,2),'
        'jinjiesuan DECIMAL(10,2),'
        'zhangdie1 DECIMAL(10,2),'
        'zhangdie2 DECIMAL(10,2),'
        'chengjiaoliang INT(10),'
        'kongpanliang INT(10),'
        'zengjianliang INT(10),'
        'chengjiaoe DECIMAL(20,2))')

'''
for i in range(0,8):

value=[today,table[16+14*i],table[17+14*i],table[18+14*i],table[19+14*i],table[20+14*i],
       table[21+14*i],table[22+14*i],table[23+14*i],table[24+14*i],table[25+14*i],
       table[26+14*i],table[27+14*i],table[28+14*i]]

cur.execute("INSERT INTO zhujiagewang"

        "(collecttime,pinzhongyuefen,zuojiesuan,jinkaipan,zuigaojia,zuidijai,"
        "jinshoupan,jinjiesuan,zhangdie1,zhangdie2,chengjiaoliang,kongpanliang,zengjianliang,chengjiaoe)"
        "VALUES (%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s)",value)

conn.commit()
cur.close()
conn.close()

迷茫
迷茫

业精于勤,荒于嬉;行成于思,毁于随。

membalas semua(1)
小葫芦

Lajur penyelesaian anda adalah jenis DECIMAL Jika anda memasukkan rentetan 'xa0', sudah tentu ralat akan dilaporkan Anda perlu menukar 'xa0' kepada nombor bulat atau titik terapung

Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!