首页 > 解决方案 > 使用 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')

标签: pythonreplaceopenpyxl

解决方案


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

试试这个为你的用例:

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

推荐阅读