熊猫to_sql追加到mysql表时丢弃行

时间:2019-04-10 02:26:54

标签: mysql python-3.x pandas pandas-to-sql

我正在使用mysql数据库和python处理从在线报纸上刮取的文章。我想在数据帧上使用pandas to_sql方法将最近抓取的文章附加到mysql表中。它工作得很好,但是我在以下方面遇到了一些问题:

由于文章是从新闻站点自动抓取的,因此约有1%的文章有问题(编码,文本太长或类似的东西),并且不适合mysql表字段。出于某种原因,熊猫to_sql方法会忽略这些错误并丢弃不适合的行。例如,我有以下mysql表:

+--------------+--------------+------+-----+---------+----------------+
| Field        | Type         | Null | Key | Default | Extra          |
+--------------+--------------+------+-----+---------+----------------+
| id           | int(11)      | NO   | PRI | NULL    | auto_increment |
| title        | varchar(255) | YES  |     | NULL    |                |
| description  | text         | YES  |     | NULL    |                |
| content      | text         | YES  |     | NULL    |                |
| link         | varchar(300) | YES  |     | NULL    |                |
+--------------+--------------+------+-----+---------+----------------+

我还有一个包含15行和4列(标题,描述,内容,链接)的数据框。

如果这些行中的1行标题大于255个字符,则该行将不适合mysql表。我在进行df.to_sql('press', con=con, index=False, if_exists='append')时遇到错误,这样我知道我要解决一个问题;但实际结果是附加了14个ROWS而不是15个。

这可能对我有用,但是我需要知道哪一行被丢弃,以便可以将其标记为以后的修订。可以告诉熊猫让我知道哪些索引被忽略了吗?

谢谢!

0 个答案:

没有答案