rsj0315 发表于 2020-5-3 01:10:55

openpyxl对数据的修改

from openpyxl import load_workbook
import os

def modifydata(path):
    workbook = load_workbook(path)
    worksheet = workbook['Sheet1']
    # max_row = worksheet.max_row
    # max_column = worksheet.max_column
    # # print(max_row,max_column) #最大行和列
    modifycol = #对第5,6列进行修改
    for i in modifycol:
      for j in range(max_row): #j对应行
            cell_value = worksheet.cell(j + 2, i).value
            if cell_value == None:
                worksheet.append() #这里添加的位置不对
            workbook.save('111.xlsx')   
path = r'路径'
modifydata(path)







上表中大部分是A,只有在第5和6列中存在部分为空的单元格。
如何在单元格红填入B

suchocolate 发表于 2020-5-3 08:12:40

第7行注释去掉。
第15行改成:worksheet.cell(row=j, column=i, value='B')
第16行与第5行对齐。

rsj0315 发表于 2020-5-3 08:17:00

suchocolate 发表于 2020-5-3 08:12
第7行注释去掉。
第15行改成:
第16行与第5行对齐。

我试试,晚上脑子太浆糊。

rsj0315 发表于 2020-5-3 08:54:27

from openpyxl import load_workbook
import os

def modifydata(path):
    workbook = load_workbook(path)
    worksheet = workbook['Sheet1']
    max_row = worksheet.max_row
    # max_column = worksheet.max_column
    # # print(max_row,max_column) #最大行和列
    modifycol = #对第5,6列进行修改
    for i in modifycol:
      for j in range(max_row-1): #j对应行
            cell_value = worksheet.cell(j + 2, i).value
            if cell_value == None:
                print(j+2,i,cell_value)
                worksheet.cell(row=j+2, column=i, value='unpaid')
                print(j + 2, i, cell_value)
                # worksheet.append() #这里添加的位置不对
    workbook.save(path)
path = '1.xlsx'
modifydata(path)

ok了按照2楼的方法,适当调一下j和i对应的行列就可以了。
感谢
页: [1]
查看完整版本: openpyxl对数据的修改