打印输出关系最好的n个演员共同参演的电影名称
时间: 2024-02-15 13:05:38 浏览: 73
好的,下面是完整代码,包括打印输出关系最好的n个演员共同参演的电影名称:
```python
import openpyxl
def get_best_actors(file_name, n):
# 打开Excel文件并读取数据
workbook = openpyxl.load_workbook(file_name)
worksheet = workbook.active
# 统计每个演员参演的电影
actor_movies = {}
for row in worksheet.iter_rows(min_row=2, values_only=True):
movie_name = row[0]
actors = row[1].split(',')
for actor in actors:
if actor not in actor_movies:
actor_movies[actor] = set()
actor_movies[actor].add(movie_name)
# 统计关系最好的n个演员
best_actors = sorted(actor_movies.items(), key=lambda x: len(x[1]), reverse=True)[:n]
# 打印输出关系最好的n个演员共同参演的电影名称
for actor, movies in best_actors:
print(f'{actor}:')
for movie in movies:
print(f'\t{movie}')
# 返回演员参演电影字典
return actor_movies
# 测试
get_best_actors('movies.xlsx', 5)
```
其中参数`file_name`代表Excel文件名,参数`n`代表关系最好的演员数目。在测试代码中,我们统计关系最好的前5个演员,打印输出每个演员参演的电影名称。
阅读全文