使用 openpyxl 将部分单元格值替换为空白
Replace part of a cell value with blank with openpyxl
我有一个传播 sheet,其中 Column A
有一个计算机名称列表,计算机名称前面有 domain\
。我正在尝试使用 openpyxl
删除 domain\
并仅保留计算机名称。这是我试过的代码。没有错误,但是脚本不会更改 spreadsheet 上的任何内容。
import openpyxl
excelFile = openpyxl.load_workbook('C:\Users\user1\Documents\file.xlsx')
sheet1 = excelFile.get_sheet_by_name('Sheet1')
currentRow = 1
for eachRow in sheet1.iter_rows():
if sheet1.cell(row=currentRow, column=1).value == "'domain\'":
sheet1.cell(row=currentRow, column=1).value = ""
currentRow += 1
excelFile.save('C:\Users\user1\Documents\file.xlsx')
最简单的方法是用修剪过的字符串替换单元格值。
import openpyxl
filename = r'C:\Users\user1\Documents\file.xlsx'
excelFile = openpyxl.load_workbook(filename)
sheet1 = excelFile.active
for row in sheet1.iter_rows(min_col=1, max_col=1):
for cell in row:
if 'domain\' in cell.value:
cell.value = cell.value[7:] #This will replace the cell value with a trimmed string
excelFile.save(filename)
我有一个传播 sheet,其中 Column A
有一个计算机名称列表,计算机名称前面有 domain\
。我正在尝试使用 openpyxl
删除 domain\
并仅保留计算机名称。这是我试过的代码。没有错误,但是脚本不会更改 spreadsheet 上的任何内容。
import openpyxl
excelFile = openpyxl.load_workbook('C:\Users\user1\Documents\file.xlsx')
sheet1 = excelFile.get_sheet_by_name('Sheet1')
currentRow = 1
for eachRow in sheet1.iter_rows():
if sheet1.cell(row=currentRow, column=1).value == "'domain\'":
sheet1.cell(row=currentRow, column=1).value = ""
currentRow += 1
excelFile.save('C:\Users\user1\Documents\file.xlsx')
最简单的方法是用修剪过的字符串替换单元格值。
import openpyxl
filename = r'C:\Users\user1\Documents\file.xlsx'
excelFile = openpyxl.load_workbook(filename)
sheet1 = excelFile.active
for row in sheet1.iter_rows(min_col=1, max_col=1):
for cell in row:
if 'domain\' in cell.value:
cell.value = cell.value[7:] #This will replace the cell value with a trimmed string
excelFile.save(filename)