写一个Python程序,读取表格violation这一列的数据,把相同数据的列排序,并按顺序输出对应的行数
时间: 2023-11-27 20:52:20 浏览: 99
Python实现EXCEL表格的排序功能示例
假设表格的文件名是"table.csv",表格中violation数据所在的列为第2列,可以用以下代码实现:
```python
import csv
# 打开表格文件
with open('table.csv', newline='') as csvfile:
reader = csv.reader(csvfile)
# 跳过表头
next(reader)
# 读取violation列的数据并建立字典
data_dict = {}
for i, row in enumerate(reader):
violation = row[1]
if violation in data_dict:
data_dict[violation].append(i+1) # 行数从1开始计数
else:
data_dict[violation] = [i+1]
# 对字典按键排序并输出行数
for violation in sorted(data_dict):
print(violation + ': ' + ', '.join(str(x) for x in data_dict[violation]))
```
该程序会输出每个不同的violation数据及其对应的行数,按violation数据的字母顺序排序。例如,如果表格中有如下数据:
| | violation |
|---|-----------|
| 1 | A |
| 2 | C |
| 3 | B |
| 4 | A |
| 5 | B |
那么程序的输出结果会是:
```
A: 1, 4
B: 3, 5
C: 2
```
阅读全文