【发布时间】:2016-10-06 20:51:14
【问题描述】:
只是一个简单的问题,伙计们:我在 mysql 中创建了一个 darabase(意见):
mysql> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| mysql |
| opinions |
| performance_schema |
| sys |
+--------------------+
5 rows in set (0.06 sec)
我还有一个熊猫数据框df:
import pandas as pd
df = pd.read_csv('file.csv', sep='|', names=['id', 'opinions'])
df.head(3)
输出:
id content
0 id1 'blablababla
1 id2 'blalbabla
...
n idn 'blalbabl
然后,我想将 df 作为表 (items) 加载到 opinions 数据库中。这是我尝试过的:
import mysql.connector
from sqlalchemy import create_engine
engine = create_engine('mysql+mysqlconnector://user:password@localhost:3306/opinions', echo=False)
df.to_sql(name='items', con=engine, if_exists = 'replace', index=False)
df
但是,我得到了这个例外:
OperationalError: (mysql.connector.errors.OperationalError) 2055: Lost connection to MySQL server at 'localhost:3306', system error: 32 Broken pipe
我应该如何将表df 加载或写入opinions 数据库?
【问题讨论】:
-
您的问题在于读取数据库,而不是写入数据库
-
感谢@PaulH 的帮助,您能否提供一个如何正确操作的示例?
-
也许对PyMySQL和
cnx = pymysql.connect(user='user', password='pw', host= '127.0.0.1', port=3306, db='mydb', autocommit=True) df=psql.read_sql_query('call sproc', con=cnx)有帮助 -
嗯,也许可以帮助this。
-
你是否真的在数据库中建过表,如果没有,那么问题不在于你对数据库的了解程度,我会去了解基本的数据库使用,然后解决上述问题。如果您确实在 MySQL 中创建了表,请显示上面的“创建表”sql。
标签: mysql python-3.x pandas pymysql