qq_34469410 2017-05-09 08:25 采纳率: 0%
浏览 7949
已结题

Python3.5连接pymysql出现cursor问题

Ubuntu下Python3.5连接pymysql时出现错位为 with connect.cursor() as cursor:
AttributeError: 'function' object has no attribute 'cursor'
以下为代码,点击错误跳到with connect.cursor() as cursor这里,不知道为什么,弄了两天了都没弄好,求大神告诉

-*- coding:utf-8 -*-

import urllib
import urllib.request
import re
import random
import pymysql.cursors
#抓取所需内容
from pymysql import connect

user_agent = ["Mozilla/5.0 (Windows NT 10.0; WOW64)", 'Mozilla/5.0 (Windows NT 6.3; WOW64)',
'Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.64 Safari/537.11',
'Mozilla/5.0 (Windows NT 6.3; WOW64; Trident/7.0; rv:11.0) like Gecko',
'Mozilla/5.0 (Windows NT 5.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/28.0.1500.95 Safari/537.36',
]
stock_total=[] #stock_total:所有页面的股票数据 stock_page:某页的股票数据
url='http://quote.stockstar.com/stock/ranklist_a_3_1_1.html'
#伪装浏览器请求报头
request=urllib.request.Request(url=url,headers={"User-Agent":random.choice(user_agent)})
try:
response=urllib.request.urlopen(request)
except urllib.error.HTTPError as e: #异常检测
print(e.code)
except urllib.error.URLError as e:
print(e.reason)
content=response.read().decode('gbk') #读取网页内容
#打印成功获取的页码
pattern=re.compile('

')
body=re.findall(pattern,str(content))
pattern=re.compile('>(.*?)<')
stock_page=re.findall(pattern,body[0]) #正则匹配
stock_total.extend(stock_page)

#删除空白字符
stock_last=stock_total[:] #stock_last为最终所要得到的股票数据
for data in stock_total:
if data=='':
stock_last.remove('')
print('1')

db = pymysql.Connect(
host='localhost',
user='root',
passwd='111111',
db='patest1',
charset='utf8',
cursorclass=pymysql.cursors.DictCursor

)

try:
with connect.cursor() as cursor:
sql="insert into pachong values (%s, %s, %s, %s, %s)"

    param=[(stock_last[0]),(stock_last[1]),(stock_last[2]),(stock_last[3]),(stock_last[4]),(stock_last[5])]
    n=cursor.executemany(sql,param)
connect.commit()

finally: print('n')
connect.close()

  • 写回答

1条回答 默认 最新

  • 普通网友 2017-05-09 23:49
    关注

    connect是一个函数,它返回的连接对象才有cursor游标

    例如:

     import pymysql.cursors
    
    #连接配置信息
    config = {
              'host':'127.0.0.1',
              'port':3306,
              'user':'root',
              'password':'csdn.com',
              'db':'employees',
              'charset':'utf8mb4',
              'cursorclass':pymysql.cursors.DictCursor,
              }
    # 创建连接
    connection = pymysql.connect(**config)
    with connection.cursor() as cursor:
    ...
    
    评论

报告相同问题?

悬赏问题

  • ¥15 如何在scanpy上做差异基因和通路富集?
  • ¥20 关于#硬件工程#的问题,请各位专家解答!
  • ¥15 关于#matlab#的问题:期望的系统闭环传递函数为G(s)=wn^2/s^2+2¢wn+wn^2阻尼系数¢=0.707,使系统具有较小的超调量
  • ¥15 FLUENT如何实现在堆积颗粒的上表面加载高斯热源
  • ¥30 截图中的mathematics程序转换成matlab
  • ¥15 动力学代码报错,维度不匹配
  • ¥15 Power query添加列问题
  • ¥50 Kubernetes&Fission&Eleasticsearch
  • ¥15 報錯:Person is not mapped,如何解決?
  • ¥15 c++头文件不能识别CDialog