首页 > 解决方案 > (openpyxl) FileNotFoundError: [Errno 2] 没有这样的文件或目录

问题描述

from os import listdir
from openpyxl import load_workbook, Workbook

files = listdir(r'C:\Users\MyID\Desktop\auto_task\examples\06')
result_xlsx = Workbook()
result_sheet =result_xlsx.active

for file in files:
    if file[-4:] != 'xlsx':
        continue

    tg_xlsx = load_workbook(file, read_only=True)
    tg_sheet = tg_xlsx.active

    for row in tg_sheet.iter_rows():
        row_data = []
        for cell in row:
            row_data.append(cell.value)
        result_sheet.append(row_data)

result_xlsx.save('result.xlsx')

我一直在通过阅读一本书来练习 openpyxl 模块并且有错误。

FileNotFoundError: [Errno 2] No such file or directory: '2017.12.1.xlsx'

如您所见,我在其中写入了特定路径,files = listdir.... 并且我还有一个名称为 excel 的文件2017.12.1.xlsx

有什么问题 ?

标签: python-3.xopenpyxl

解决方案


您需要提供文件的完整路径 -->load_workbook(os.path.join(path, file), read_only=True)

前任:

path = r'C:\Users\MyID\Desktop\auto_task\examples\06'
files = listdir(path)
result_xlsx = Workbook()
result_sheet =result_xlsx.active

for file in files:
    if file[-4:] != 'xlsx':
        continue

    tg_xlsx = load_workbook(os.path.join(path, file), read_only=True)
    tg_sheet = tg_xlsx.active

    for row in tg_sheet.iter_rows():
        row_data = []
        for cell in row:
            row_data.append(cell.value)
        result_sheet.append(row_data)

result_xlsx.save('result.xlsx')

推荐阅读