簡體   English   中英

使用openpyxl模塊替換Excel工作表中的缺失值

[英]Replace missing values in excel worksheet using openpyxl module

我正在嘗試用上面的說謊者單元格和下面的說謊者單元格之間的平均值替換包含連字符“-”的Excel工作表中的單元格。 我將嘗試通過遍歷第3列的每一行來做到這一點

 import math
 from openpyxl import load_workbook
 import openpyxl

 d_filename="Snow.xlsx"
 wb = load_workbook(d_filename)

 sheet_ranges=wb["PIT 1"]'


def interpolatrion_of_empty_cell():

for i in range(7,31):
    if i =="-":
        sheet_ranges.cell(row = i, column = 3).value = mean(i-1,i+1)
    else:
        sheet_ranges.cell(row = i, column = 3).value

wb.save(filename = d_filename)

這僅僅是為了容易做到還是用openpyxl無法做到?

干杯// Smiffo

不替換值的原因是您使用i來檢查其是否等於- 我是一個索引,而不是一個單元格的值。 同樣,為了計算平均值,您使用的是索引,而不是頂部和底部單元格的值。

因此,您可以通過以下方式解決此問題:

def interpolatrion_of_empty_cell():
     for i in range(7,31):
          cell_value = sheet_ranges.cell(row=i, column=3).value
          if cell_value == "-":
               top_value = sheet_ranges.cell(row=i+1, column=3).value
               bottom_value = sheet_ranges.cell(row=i - 1, column=3).value
               sheet_ranges.cell(row=i, column=3).value = (float(top_value) + float(bottom_value))/2

並不是說這可能需要進行調整,因為對於tob和bottom行是- ,不是數字或只是空單元格的情況,這並不適用。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM