1

我正在尝试在 excel 文件(xls)中使用搜索和替换字符串,实际上 - 我需要找到字符串并在前缀 * 之前添加。例如

1

但我收到一个错误:

LVdemact = {'two': two_replaced, 'six': six_replaced, 'five': five_replaced}
NameError: name 'two_replaced' is not defined

代码:

from xlrd import open_workbook
from xlutils.copy import copy
import xlsxwriter

rb = open_workbook("template.xlsx")

# Create an new Excel file and add a worksheet.
wb = xlsxwriter.Workbook('Updated_Workbook1.xlsx')
ws = wb.add_worksheet()

s_orig = rb.sheet_by_index(0)

LVdemact = {'two': two_replaced, 'six': six_replaced, 'five': five_replaced,}

for row in range(s_orig.nrows):
    for col in range(s_orig.ncols):
        if s_orig.cell(row,col).value in LVdemact:
            # s.write(row, col, LVdemact[item])
            ws.write(row, col, LVdemact[s_orig.cell(row,col).value])
        else:
            ws.write(row, col, s_orig.cell(row,col).value)
wb.close()
4

2 回答 2

1

问题在于——LVdemact = {'two': two_replaced, 'six': six_replaced, 'five': five_replaced,}

变量two_replacedsix_replaced并且five_replaced未定义。你希望这是一个字符串吗?然后以这种方式定义它 -

LVdemact = {'two': 'two_replaced', 'six': 'six_replaced', 'five': 'five_replaced'}
于 2020-08-08T06:25:13.543 回答
0

你可以用这个

df = pd.DataFrame() # Your dataframe

for column in df.select_dtypes('object'):
    df[column] = df[column].str.replace('toreplace','newword')
于 2020-08-08T06:04:41.157 回答