我正在使用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个。
这可能对我有用,但是我需要知道哪一行被丢弃,以便可以将其标记为以后的修订。可以告诉熊猫让我知道哪些索引被忽略了吗?
谢谢!