1

我正在使用 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 行。

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

谢谢!

4

0 回答 0