假设有一个名为“药物靶点对应结构”的excel文件,excel中有一个名为“图片”的一列没有内容。在python有一个名为“Davis”的文件夹,文件里有python文件和图片,现在想要把Davis文件夹里面所有的图片依次添加到excel中的“图片“这一列里面,求python代码
时间: 2024-10-28 21:10:53 浏览: 20
人工智能驱动药物靶点筛选.pptx
你可以使用pandas库来读取Excel文件,并且结合os和pathlib库来遍历并添加文件夹中的图片。下面是一个简单的Python代码示例:
```python
import pandas as pd
from os import walk
from PIL import Image
from io import BytesIO
# 读取Excel文件
df = pd.read_excel("药物靶点对应结构.xlsx")
# 定义要添加图片的文件夹路径
folder_path = "Davis"
# 获取 Davis 文件夹下的所有图片文件名
for root, dirs, files in walk(folder_path):
img_files = [f for f in files if f.lower().endswith(('.png', '.jpg', '.jpeg'))] # 这里假设图片格式为.png, .jpg 或 .jpeg
# 遍历图片文件,将它们读入内存并转换为BytesIO对象
for img_file in img_files:
img = Image.open(os.path.join(root, img_file))
buffer = BytesIO()
img.save(buffer, format='PNG') # 可能需要根据实际图片格式调整
byte_arr = buffer.getvalue()
# 将图片数据添加到 DataFrame 的 '图片' 列
df.loc[df.shape[0], '图片'] = byte_arr
# 写回Excel文件
df.to_excel("药物靶点对应结构_with_images.xlsx", index=False)
阅读全文