【问题标题】:Python Error Interfacing with excel Writing a formula to a range of cellsPython错误与excel交互将公式写入一系列单元格
【发布时间】:2020-12-29 17:54:12
【问题描述】:

我收到与此 unicodeescape 编解码器代码相关的错误,无法解码位置 2-3 的字节;截断 \uxxxxxxxxxxxxxxxx 转义。我是一个新的“程序员”。请帮忙。非常感谢!

import os
import openpyxl
wb=openpyxl.load_workbook(os.path.abspath('C:/Users/S/Desktop/Database.xlsx'))
sheet=wb.get_sheet_by_name('Search_Result 2')
for i in range(11503,16897):
    cellref=sheet.cell(row=i,column=4)
    cellref.value="CIQRANGEA(B"&i&",'IQ_COMPANY_ID_QUICK_MATCH',1,1,,,,,'QUICK MATCH COMPANY ID'")
    time.sleep(2)

【问题讨论】:

  • 这不可能是您的代码,因为这会引发语法错误。请复制 - 粘贴您的实际代码,但尽量提供一个可重现的最小示例。
  • 你是什么意思 - 这是我的全部代码。我究竟做错了什么?我在这里错过了什么?
  • 一方面,for i in ... 文件末尾缺少一个冒号 (:)。然后引号和括号在cellref.value=... 行中被弄乱了。然后与号 (&) 将引发其他错误。所以不要声称上面是你的实际代码,它会引发 unicodeescape 错误。
  • 所以excel中的公式需要引号,这就是我正在做的。与号是为了使 i 变量每次都可以更改。这不是你在 python 上的做法吗?我知道 AppleScript 就是这样工作的。请帮忙。结肠去哪儿了。我要做的就是使用excel公式 CIQRange 为每一行编写一个循环值。 . .我只是想写信给细胞。就像使用 copy down 但 excel 似乎把它搞砸了,因为每次 excel 从中提取的服务器都无法获得所有 5000 多个请求,所以它的运行速度非常慢。所以尝试编写一个自动拉取的脚本
  • 更改文件路径以使用 / 而不是 \ 以避免 \ 转义字符的潜在问题

标签: python openpyxl unicode-escapes


【解决方案1】:

Unicode 错误是由文件路径中的\ 字符引起的,它启动了转义序列。要解决此问题,请在字符串前添加 r 以使用原始字符串,如下所示:

wb=openpyxl.load_workbook(os.path.abspath(r"C:\Users\S\Desktop\Database.xlsx"))

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2022-01-14
    • 1970-01-01
    • 1970-01-01
    • 2013-03-09
    • 2015-05-08
    • 1970-01-01
    • 1970-01-01
    • 2022-12-12
    相关资源
    最近更新 更多