我从谷歌图书中收集数据点,将数据转换成数据,然后进入mysql数据库。
对于每个数据点,我将创建一个dataframe,将其包含到一个暂存表中,从该暂存表中提取到一个主表中,然后删除这个暂存表。
有时,有些成批的书会有改编。有时候,他们不会。如果它们不这样做,存储到适应映射的标题的dataframe就没有填充它们,因为有些标题没有适应性。比如说,我有一个这样的数据
adaptation
看起来像是
title | adaptation
|在空的地方。然后,我尝试创建一个像这样的分期表,使用熊猫.to_sql方法。
adaptation.to_sql(name='adaptation_staging', con=mysql_conn, if_exists='append', index=False), 我会得到像这样的SQL语法错误,如果dataframe是空的,我想:
(mysql.connector.errors.ProgrammingError) 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ')' at line 2
[SQL:
CREATE TABLE adaptation_staging (
)
]
(Background on this error at: http://sqlalche.me/e/13/f405)我该怎么处理这个案子?首先,如果适配数据是空的,我们甚至不想创建这个暂存表,因为没有任何东西会被插入到主适配表中。所以也许可以用try: except:包起来
有什么想法?如果需要的话我可以澄清。谢谢!
发布于 2022-01-23 03:46:23
检查dataframe是否为空,是否为空打印为空,并在“否则”块中运行create脚本。
if adaptation.empty:
print('adaptation is empty')
else:
adaptation.to_sql(name='adaptation_staging', con=mysql_conn, if_exists='append', index=False)https://stackoverflow.com/questions/70817047
复制相似问题