You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python处理像素艺术Excel文件报错:ws相关行提示文件不存在

问题与解决方案

错误原因分析

你遇到的"No such file or directory"错误核心是找不到PixelArt.xlsx文件,和你标注的cells = tuple(ws['A1':'AC13'])行或ws操作无关,属于文件路径配置问题。另外代码里cells行被错误的双引号包裹,会导致变量未定义,触发NameError,这是需要同步修复的问题。

分步解决方案

1. 修正文件路径

  • 最简单的方式:把PixelArt.xlsx和Python脚本放在同一个文件夹里
  • 或者使用绝对路径(避免路径歧义),示例:
    # Windows系统示例
    wb = openpyxl.load_workbook("C:/Users/你的用户名/Documents/PixelArt.xlsx")
    # Linux/macOS系统示例
    wb = openpyxl.load_workbook("/home/你的用户名/Documents/PixelArt.xlsx")
    

2. 修复代码中的变量定义与注释

把包裹cells行的错误双引号去掉,用#做注释(如果需要注释),确保变量正常生效:

import openpyxl
from openpyxl.styles import PatternFill

# 确保路径正确,相对路径要求文件和脚本同目录
wb = openpyxl.load_workbook("PixelArt.xlsx")
ws = wb.active
# 取消错误的双引号,让变量定义生效
cells = tuple(ws['A1':'AC13'])

color_dict = {}

for row in cells:
    for cell in row:
        # 检查单元格是否存在填充色
        if cell.fill.patternType is not None:
            color = cell.fill.fgColor.rgb
            # 统计颜色出现次数
            if color not in color_dict:
                color_dict[color] = 1
            else:
                color_dict[color] += 1
            # 将次数写入对应单元格
            ws[cell.coordinate].value = color_dict[color]

# 必须调用save才能保存修改后的内容
wb.save("Modified_PixelArt.xlsx")
print(color_dict)

额外提示

  • 原代码缺少wb.save(),运行后单元格修改不会被保存,一定要加上
  • 如果需要遍历整个工作表的单元格,可替换为ws.iter_rows(),示例:
    # 遍历所有有数据的行和列
    for row in ws.iter_rows(values_only=False):
        for cell in row:
            # 后续逻辑保持不变
    

内容的提问来源于stack exchange,提问作者Caleb deRidder

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.04 21:32:42