使用Python扩展库(比如openpyxl)读取Excel文件中的数据,返回一个字典,字典的键为演员姓名,值为该演员参演的电影名称的集合,读取数据时,跳过表头,对于每一行的有效数据,获取每一行的电影名称和演员清单,对该电影的参演演员进行分割得到演员列表,列表中的每个演员都参演过该行对应的电影
时间: 2024-02-21 10:58:23 浏览: 56
好的,以下是Python代码实现,使用openpyxl库读取Excel文件,返回一个字典,字典的键为演员姓名,值为该演员参演的电影名称的集合:
```python
import openpyxl
def read_excel_file(file_path):
# 读取Excel文件
wb = openpyxl.load_workbook(file_path)
sheet = wb.active
# 定义字典,键为演员姓名,值为该演员参演的电影名称的集合
actor_movie_dict = {}
# 跳过表头,从第二行开始读取数据
for row in sheet.iter_rows(min_row=2, values_only=True):
movie_name = row[0]
actor_list = row[1].split(",")
for actor in actor_list:
# 去除演员姓名前后的空格
actor = actor.strip()
if actor not in actor_movie_dict:
# 如果演员不在字典中,创建一个空集合
actor_movie_dict[actor] = set()
# 将该演员参演的电影添加到集合中
actor_movie_dict[actor].add(movie_name)
return actor_movie_dict
```
其中,file_path为Excel文件的路径。使用该函数可以读取Excel文件并返回一个字典,可通过以下方式调用:
```python
file_path = "test.xlsx"
actor_movie_dict = read_excel_file(file_path)
print(actor_movie_dict)
```
注:该函数读取Excel文件中的第1列为电影名称,第2列为演员列表,多个演员用逗号分隔。读取时会去除演员姓名前后的空格。
阅读全文