使用Python扩展库(比如openpyxl)读取Excel文件中的数据,返回一个字典,字典的键为演员姓名,值为该演员参演的电影名称的集合,读取数据时,跳过表头,对于每一行的有效数据,获取每一行的电影名称和演员清单,对该电影的参演演员进行分割得到演员列表,列表中的每个演员都参演过该行对应的电影
时间: 2024-02-21 07:58:35 浏览: 21
好的,您想了解如何使用Python扩展库openpyxl读取Excel文件中的数据,并将其转换成一个字典,字典的键为演员姓名,值为该演员参演的电影名称的集合。我可以为您提供一个实现方案,请您参考以下代码:
```python
import openpyxl
def read_excel_file(file_path):
# 打开Excel文件
wb = openpyxl.load_workbook(file_path)
# 获取默认的工作表
ws = wb.active
# 创建一个字典,用于存储演员参演电影的关系
actor_dict = {}
# 遍历Excel表格中的每一行数据
for row in ws.iter_rows(min_row=2, values_only=True):
# 获取电影名称和演员清单
movie_name, actor_list = row[0], row[1]
# 对演员清单进行分割,得到演员列表
actors = actor_list.split(",")
# 遍历演员列表,将演员姓名和电影名称的关系保存到字典中
for actor in actors:
actor_name = actor.strip()
if actor_name not in actor_dict:
actor_dict[actor_name] = set()
actor_dict[actor_name].add(movie_name)
# 返回演员参演电影的字典
return actor_dict
```
在这个实现方案中,我们首先打开Excel文件,然后获取到默认的工作表。接着,我们创建一个空字典`actor_dict`,用于存储演员参演电影的关系。然后,使用`iter_rows`方法遍历Excel表格中的每一行数据,对于每一行数据,我们获取电影名称和演员清单,然后对演员清单进行分割,得到演员列表。接下来,我们遍历演员列表,将演员姓名和电影名称的关系保存到字典中。最后,我们返回演员参演电影的字典。
您可以将上述代码复制到Python文件中,并调用`read_excel_file`函数来读取Excel文件中的数据,并将其转换成一个字典,字典的键为演员姓名,值为该演员参演的电影名称的集合。