只用openpyxl模块删除重复项
时间: 2023-06-15 10:03:02 浏览: 154
可以使用 openpyxl 模块中的 set() 方法来删除 Excel 表格中的重复项。具体步骤如下:
1. 导入 openpyxl 模块:
```python
import openpyxl
```
2. 打开 Excel 文件:
```python
wb = openpyxl.load_workbook("example.xlsx")
```
3. 选择要操作的表格:
```python
sheet = wb["Sheet1"]
```
4. 创建一个空集合 set() 用来存储唯一的行数据:
```python
unique_rows = set()
```
5. 遍历每一行数据,如果该行数据不在集合 unique_rows 中,则添加进去:
```python
for row in sheet.iter_rows(min_row=2, values_only=True):
if row not in unique_rows:
unique_rows.add(row)
```
这里的 `min_row=2` 表示从第二行开始遍历,因为第一行通常是表头。
6. 将集合 unique_rows 中的数据写入新的 Excel 文件中,即去除了重复项的表格:
```python
new_wb = openpyxl.Workbook()
new_sheet = new_wb.active
for row in unique_rows:
new_sheet.append(row)
new_wb.save("example_unique.xlsx")
```
完整代码如下:
```python
import openpyxl
wb = openpyxl.load_workbook("example.xlsx")
sheet = wb["Sheet1"]
unique_rows = set()
for row in sheet.iter_rows(min_row=2, values_only=True):
if row not in unique_rows:
unique_rows.add(row)
new_wb = openpyxl.Workbook()
new_sheet = new_wb.active
for row in unique_rows:
new_sheet.append(row)
new_wb.save("example_unique.xlsx")
```