首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如果dataframe为空如何处理.to_sql

问如果dataframe为空如何处理.to_sql
EN

Stack Overflow用户
提问于 2022-01-22 20:53:56
回答 1查看 428关注 0票数 0

我从谷歌图书中收集数据点,将数据转换成数据,然后进入mysql数据库。

对于每个数据点,我将创建一个dataframe,将其包含到一个暂存表中,从该暂存表中提取到一个主表中,然后删除这个暂存表。

有时,有些成批的书会有改编。有时候,他们不会。如果它们不这样做,存储到适应映射的标题的dataframe就没有填充它们,因为有些标题没有适应性。比如说,我有一个这样的数据

adaptation

看起来像是

代码语言:javascript
复制
title | adaptation
      |

在空的地方。然后,我尝试创建一个像这样的分期表,使用熊猫.to_sql方法。

代码语言:javascript
复制
adaptation.to_sql(name='adaptation_staging', con=mysql_conn, if_exists='append', index=False), 

我会得到像这样的SQL语法错误,如果dataframe是空的,我想:

代码语言:javascript
复制
(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:包起来

有什么想法?如果需要的话我可以澄清。谢谢!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-01-23 03:46:23

检查dataframe是否为空,是否为空打印为空,并在“否则”块中运行create脚本。

代码语言:javascript
复制
if adaptation.empty:
    print('adaptation is empty')
else:
    adaptation.to_sql(name='adaptation_staging', con=mysql_conn, if_exists='append', index=False)
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70817047

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档