python, pymysql ,判断每一行是否完全重复,如果重复,则进行去重,举个示例
时间: 2023-07-12 13:04:26 浏览: 91
Python实现的删除重复文件或图片功能示例【去重】
假设我们有一个名为`table1`的MySQL表格,其中有三列:`id`、`name`和`age`。我们可以使用Python和pymysql库来实现判断每一行是否完全重复并进行去重的功能。以下是一个示例代码:
```python
import pymysql
# 创建连接
conn = pymysql.connect(host='localhost', port=3306, user='root', password='123456', db='test', charset='utf8mb4')
# 创建游标
cursor = conn.cursor()
# 执行SQL语句,查询所有行数据
sql = 'SELECT * FROM table1'
cursor.execute(sql)
# 获取查询结果
results = cursor.fetchall()
# 创建一个空列表,用于存储去重后的数据
unique_results = []
# 遍历每一行数据
for row in results:
# 判断该行数据是否已经存在于unique_results中
if row not in unique_results:
# 如果不存在,则将该行数据添加到unique_results中
unique_results.append(row)
# 打印去重后的数据
print(unique_results)
# 关闭游标和连接
cursor.close()
conn.close()
```
说明:
1. 在连接MySQL数据库之前,需要先安装pymysql库。可以使用以下命令进行安装:
```bash
pip install pymysql
```
2. 在连接MySQL数据库时,需要指定所连接的主机、端口、用户名、密码、数据库名称和字符集。
3. 执行SQL语句时,使用`SELECT *`查询所有行数据。
4. 使用`cursor.fetchall()`获取查询结果。
5. 遍历每一行数据时,使用`if row not in unique_results:`判断该行数据是否已经存在于unique_results中。如果不存在,则将该行数据添加到unique_results中。最终得到的unique_results即为去重后的数据。
请注意,这种方法适用于数据量不大的情况。如果数据量很大,这种方法可能会占用大量的内存。在这种情况下,可以考虑使用MySQL的`DISTINCT`关键字在查询时进行去重。
阅读全文