zl程序教程

您现在的位置是:首页 >  后端

当前栏目

python第三方包openpyxl操作excel

PythonExcel 操作 第三方 openpyxl
2023-09-11 14:22:10 时间
import openpyxl
from openpyxl import load_workbook

with open("D:\\result.txt") as f:
    print(f.readline())


wk=load_workbook(r"D:\cc.xlsx")

sheets= wk._sheets
print(sheets)
for i in sheets:
    print(i)

sheet = wk['Sheet1']
col1 = [item.value for item in list(sheet.columns)[0]]
print('第1列值',col1)

print(sheet[1][1].value)


from openpyxl import *

class ExcelOp(object):
    def __init__(self, file):
        self.file = file
        self.wb = load_workbook(self.file)
        sheets = self.wb.get_sheet_names()
        self.sheet = sheets[0]
        self.ws = self.wb[self.sheet]

    # 获取表格的总行数和总列数
    def get_row_clo_num(self):
        rows = self.ws.max_row
        columns = self.ws.max_column
        return rows, columns

    # 获取某个单元格的值
    def get_cell_value(self, row, column):
        cell_value = self.ws.cell(row=row, column=column).value
        return cell_value

    # 获取某列的所有值
    def get_col_value(self, column):
        rows = self.ws.max_row
        column_data = []
        for i in range(1, rows + 1):
            cell_value = self.ws.cell(row=i, column=column).value
            column_data.append(cell_value)
        return column_data

    # 获取某行所有值
    def get_row_value(self, row):
        columns = self.ws.max_column
        row_data = []
        for i in range(1, columns + 1):
            cell_value = self.ws.cell(row=row, column=i).value
            row_data.append(cell_value)
        return row_data

    # 设置某个单元格的值
    def set_cell_value(self, row, colunm, cellvalue):
        try:
            self.ws.cell(row=row, column=colunm).value = cellvalue
            self.wb.save(self.file)
        except:
            self.ws.cell(row=row, column=colunm).value = "writefail"
            self.wb.save(self.file)

if __name__ == "__main__":
    excel_op = ExcelOp(file="output/photo_name.xlsx")
    first_row = excel_op.get_row_value(1)
    print(first_row)
    second_col = excel_op.get_col_value(2)
    print(second_col)