py包使用问题。在完全一样操作、代码,在昨天晚上可以正常运行,但是退出软件后到现在就一直报错。
回答
收藏

py包使用问题。在完全一样操作、代码,在昨天晚上可以正常运行,但是退出软件后到现在就一直报错。

墨易尘
2023-05-15 18:11·浏览量:388
墨易尘
发布于 2023-05-15 18:11388浏览
  1. 报错信息:(unicode error) 'unicodeescape' codec can't decode bytes in position 259-260: truncated \UXXXXXXXX escape

下面是代码

import openpyxl
import jieba

def main(args):
file_path = args[0] # 从参数中获取文件路径

# 打开 Excel 文件 wb = openpyxl.load_workbook(file_path) ws = wb.active # 查找 "来源名称" 所在列 col_num = None for row in ws.iter_rows(min_row=1, max_row=1): for cell in row: if cell.value == "来源名称": col_num = cell.column break if col_num: break # 如果找到了 "来源名称" 所在列 if col_num: # 转换列数为字母表示的列号 col_letter = openpyxl.utils.get_column_letter(col_num) # 查找最后一个有值的列号 max_col_num = ws.max_column while ws.cell(row=1, column=max_col_num).value is None and max_col_num > 1: max_col_num -= 1 # 如果最后一个有值的单元格为空,则将分词结果写入该单元格 # 否则将分词结果写入该列的下一列 if ws.cell(row=1, column=max_col_num).value is None: for row in ws.iter_rows(min_row=2, max_row=ws.max_row, min_col=col_num, max_col=col_num): text = row[0].value if text: result = ' '.join(jieba.cut(text)) row[max_col_num-1].value = result else: next_col_num = max_col_num + 1 next_col_letter = openpyxl.utils.get_column_letter(next_col_num) for row in ws.iter_rows(min_row=2, max_row=ws.max_row, min_col=col_num, max_col=col_num): text = row[0].value if text: result = ' '.join(jieba.cut(text)) ws[next_col_letter+str(row[0].row)].value = result # 保存 Excel 文件 wb.save(file_path)
收藏
全部回答1
最新
发布回答
回答