我正在使用 mysql 数据库和 python 处理从在线报纸上抓取的文章。我想在数据帧上使用 pandas to_sql 方法将最近抓取的文章附加到 mysql 表中。它工作得很好,但我在以下方面遇到了一些问题:
由于文章是从新闻站点自动抓取的,因此其中大约 1% 存在问题(编码、文本太长或类似的东西)并且不适合 mysql 表字段。出于某种原因,Pandas 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 行而不是 15 行。
这可能对我有用,但我需要知道哪一行被丢弃,以便我可以标记它以供以后修订。是否可以告诉熊猫让我知道哪些索引被忽略了?
谢谢!