用Python写一段代码,读取xlsx表格中violation列中的字符,把相同字符的记录提取出来,并且把这些记录的序号按顺序排列
时间: 2023-11-28 11:48:07 浏览: 60
假设我们要读取的Excel表格名为`example.xlsx`,其中的violation列在第二列(B列),代码如下:
```python
import openpyxl
# 打开Excel文件
wb = openpyxl.load_workbook('example.xlsx')
# 选择第一个工作表
ws = wb.active
# 创建一个字典,用于存储不同的violation及其对应的序号列表
violation_dict = {}
# 遍历每一行,提取相同violation的记录的序号
for row in ws.iter_rows(min_row=2, values_only=True):
violation = row[1] # 第二列为violation列
index = row[0] # 第一列为序号列
if violation in violation_dict:
violation_dict[violation].append(index)
else:
violation_dict[violation] = [index]
# 按照序号顺序输出violation及其对应的序号列表
for violation, index_list in sorted(violation_dict.items(), key=lambda x: x[1][0]):
print(f"{violation}: {', '.join(map(str, index_list))}")
```
代码中,我们首先用`openpyxl`库打开Excel文件,并且选择第一个工作表。然后,我们遍历每一行,提取violation和序号,并且将相同violation的记录的序号存储到一个字典中。最后,我们按照序号顺序输出字典中的内容。
阅读全文