我想在mysql表中附加一个dataframe。下面的代码给出了一个错误:DatabaseError: Execution failed on sql 'SELECT name FROM sqlite_master WHERE type='table' AND name=?;': not all arguments converted during string formatting
代码:
import pandas as pd
import pymysql
from datetime import date
from datetime import datetime
from dateutil.relativedelta import relativedelta
from time import sleep
now = str(datetime.now())[:19]
# APPEND TO DB TABLE
print('Started at {}'.format(now))
dates = pd.date_range(start='2018-01-02', end='2018-01-11')
for date in dates:
print('Appending {} to {}...'.format(date, date+relativedelta(days=1)))
conn = pymysql.connect('host','user', 'pass', 'db')
query='''select ... '''.format(date, date+relativedelta(days=1))
df = pd.read_sql(query, conn)
df.index.name = 'id'
df.to_sql('table_name', con=conn, if_exists='append')
print('-> DONE')
sleep(3)
print('Finished appending at {}'.format(now))
如何避免这个错误并使用pymysql追加数据帧。我尝试过sqlalchemy,但我得到了一些类似于ModuleError: MySQLdb module not found
的东西。我还尝试了brew install MySQL
,然后pip install mysqlclient
失败了,然后$ sudo apt-get install python3.7-dev libmysqlclient-dev
也失败了,因为apt-get
不是bash终端中的命令。。。你知道吗
任何帮助都将不胜感激
目前没有回答
相关问题 更多 >
编程相关推荐