使用 Openpyxl 查找和替换

Find and replace using Openpyxl

我正在尝试将 C 列中具有 -1 作为值的所有内容替换为 0。到目前为止,这是我尝试过的。我是 python 和 openpyxl 的新手,所以请耐心等待。

import openpyxl
    excelFile = openpyxl.load_workbook('C:\Users\user1\Documents\file\file.xlsx')
    sheet1 = excelFile.get_sheet_by_name('sheet1')
    currentRow = 1
    for eachRow in sheet1.iter_rows():
        if sheet1.cell(currentRow, column=3) == '-1':
            sheet1.cell(row=currentRow, column=3).value = "0"
            currentRow += 1
            excelFile.save('C:\Users\user1\Documents\file\file.xlsx')

我也试过,结果相同,没有错误,但文件没有变化。

import openpyxl
excelFile = openpyxl.load_workbook(r'C:\Users\user1\Documents\file\file.xlsx')
sheet1 = excelFile.get_sheet_by_name('CFRP_1_21')

if sheet1['C:C'] == '-1':
    sheet1['C:C'] = '0'
    excelFile.save('C:\Users\user1\Documents\file\file.xlsx')

这是 openpyxl tutorial,它应该有助于解决您可能遇到的一些基本使用问题。

针对您的用例试试这个:

import openpyxl
excelFile = openpyxl.load_workbook(r'C:\Users\user1\Documents\file\file.xlsx')
#sheet1 = excelFile.get_sheet_by_name('CFRP_1_21')
sheet1 = excelFile.active #This selects the first sheet in the Excel file, only use specific names if required

for col in sheet1.iter_cols(min_col=3, min_row=1, max_col=3):
    for cell in col:
        if cell.value == '-1':
            cell.value = '0'
excelFile.save(r'C:\Users\user1\Documents\file\file.xlsx') #Don't forget to use 'r' for string here