python导数据到mysql,Python导入数据到mysql错误

Python在导入数据到mysql是,报错了:

# -*- coding:utf-8 -*-

import sys

import MySQLdb

import tushare as ts

conn=MySQLdb.Connection

(

host="localhost",

user="root",

passwd="root",

charset="UTF8"

)

conn.select_db('test')

T = ts.get_latest_news(top=80,show_content=True)

# 创建指针,并设置数据的返回模式为字典

cursor = conn.cursor(MySQLdb.cursors.DictCursor)

# 执行SQL

cursor.executemany("insert into page values (%s,%s,%s,%s,%s)", T)

# 关闭指针

cursor.close()

# 关闭数据库连接

conn.close()

报错信息:

line 370: b"htmlParseEntityRef: expecting ';'" (line 370)

Traceback (most recent call last):

File "C:/Users/Administrator/PycharmProjects/untitled/test.py", line 12, in <module>

cursor.executemany("insert into page values (%s,%s,%s,%s,%s)", T)

File "C:\Users\Administrator\AppData\Local\Programs\Python\Python36\lib\site-packages\MySQLdb\cursors.py", line 270, in executemany

if not args:

File "C:\Users\Administrator\AppData\Local\Programs\Python\Python36\lib\site-packages\pandas\core\generic.py", line 917, in __nonzero__

.format(self.__class__.__name__))

ValueError: The truth value of a DataFrame is ambiguous. Use a.empty, a.bool(), a.item(), a.any() or a.all().

用的是MySqldb模块。请大神指导下。

cursor.executemany 的源码

def executemany(self, query, args):

# type: (str, list) -> int

"""Run several data against one query

:param query: query to execute on server

:param args:  Sequence of sequences or mappings.  It is used as parameter.

:return: Number of rows affected, if any.

This method improves performance on multiple-row INSERT and

REPLACE. Otherwise it is equivalent to looping over args with

execute().

"""

if not args:

return

...

# type: (str, list) -> int

说明第二个参数应该是 list,试试

cursor.executemany("insert into page values (%s,%s,%s,%s,%s)", T.values)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值