根据ExceL里的《页号》或《页数》批量将每条目录对应的文件名的图片放在和ExceL里《档号》命名相同的文件夹
时间: 2023-05-21 09:01:10 浏览: 94
您可以使用Python的openpyxl库来读取Excel文件,并使用os库来创建文件夹和移动文件。以下是一个示例代码:
```python
import os
from openpyxl import load_workbook
# 打开Excel文件
workbook = load_workbook(filename='example.xlsx')
sheet = workbook.active
# 遍历每一行
for row in sheet.iter_rows(min_row=2, values_only=True):
# 获取文件名和页号
filename = row[1]
page_num = row[2]
# 创建文件夹
folder_name = f"{page_num}"
os.makedirs(folder_name, exist_ok=True)
# 移动文件
os.rename(filename, os.path.join(folder_name, filename))
```
请注意,此代码仅适用于将Excel文件中的文件移动到以页号命名的文件夹中。如果您的Excel文件中有其他列,您需要相应地更改代码。
相关问题
写一个pdf空白图片检测python程序,返回文件名和页数
PDF 空白页检测的 Python 程序可以通过以下步骤实现:
1. 导入必要的库,比如 PyPDF2、Pillow 和 numpy
2. 定义一个函数,接收一个 PDF 文件路径作为输入
3. 使用 PyPDF2 的 PdfFileReader() 函数打开 PDF 文件,并获取其页数
4. 遍历每一页,使用 Pillow 的 Image.frombytes() 函数将其转换为 numpy 数组
5. 计算数组中所有像素的平均值,如果平均值接近于 255(白色),则说明该页为空白页,将该页页码添加到一个空白数组中
6. 返回所有空白页的页码以及文件名
下面是一个示例程序:
```python
import PyPDF2
from PIL import Image
import numpy as np
def detect_blank_pages(pdf_path):
pdf_file = open(pdf_path, 'rb')
pdf_reader = PyPDF2.PdfFileReader(pdf_file)
num_pages = pdf_reader.getNumPages()
blank_pages = []
for page_num in range(num_pages):
page = pdf_reader.getPage(page_num)
page_content = page['/Contents'].getData()
if page_content:
img = np.array(Image.frombytes('RGB', (page.mediaBox.getWidth(), page.mediaBox.getHeight()), page_content))
if np.mean(img) > 250:
blank_pages.append(page_num + 1)
pdf_file.close()
return pdf_path, blank_pages
```
你可以调用这个函数并传入需要检测的 PDF 文件路径,它会返回一个包含文件名和空白页页码的元组。需要注意的是,这个程序只能检测单色 PDF,对于彩色 PDF 需要做相应的处理。
python使用pdfplumber,将pdf批量写入excel
可以使用pdfplumber库和pandas库来实现将多个PDF文件中的内容批量写入Excel。下面是一个示例代码:
```python
import os
import pandas as pd
import pdfplumber
# 定义PDF文件夹路径和Excel文件路径
pdf_folder = "path/to/pdf/folder"
excel_file = "path/to/excel/file.xlsx"
# 获取PDF文件列表
pdf_files = [f for f in os.listdir(pdf_folder) if f.endswith(".pdf")]
# 创建一个空的DataFrame来保存数据
df = pd.DataFrame(columns=["File", "Page", "Text"])
# 遍历PDF文件列表
for pdf_file in pdf_files:
pdf_path = os.path.join(pdf_folder, pdf_file)
# 打开PDF文件
with pdfplumber.open(pdf_path) as pdf:
# 遍历PDF的每一页
for i, page in enumerate(pdf.pages):
# 提取页面文本内容
text = page.extract_text()
# 将数据添加到DataFrame中
df = df.append({"File": pdf_file, "Page": i+1, "Text": text}, ignore_index=True)
# 将DataFrame写入Excel文件
df.to_excel(excel_file, index=False)
```
在上述代码中,你需要将`pdf_folder`替换为包含要处理的PDF文件的文件夹路径,将`excel_file`替换为你想要保存结果的Excel文件路径。该代码会遍历PDF文件夹中的每个PDF文件,并将每一页的文本内容提取出来,然后将结果保存到指定的Excel文件中。每行数据包括文件名、页码和文本内容。
请注意,你需要安装pdfplumber和pandas库,可以使用以下命令安装:
```
pip install pdfplumber pandas
```
希望对你有所帮助!如果还有其他问题,请随时提问。