python之将读取excle并将列表转为字典

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
import openpyxl
 
# 第一步打开工作薄(读取excel文件中的数据保存为工作簿)
workbook = openpyxl.load_workbook(r"C:\Users\Administrator\Desktop\11.xlsx")
print(workbook)
# 第二步,选中表单对象
sheet = workbook["login"# excle对应sheet名称
print(sheet)
# 第三步:1.通过表单选中表格读取数据
data = sheet.cell(row=2, column=3)
print(data)
print(data.value)
# 2.写入内存数据
sheet.cell(row=2, column=6, value=7)
# 写入内存数据,需要保存才会生效
workbook.save(r"C:\Users\Administrator\Desktop\11.xlsx"# 文件一定要关掉
# 3获取最大的行和列,不要随便在excle中写入空格,否者会增加对应的空格
print(sheet.max_row)
print(sheet.max_column)
# 4.rows:按行获取所有的格子对象,每一行的格子放入一个元组
# print(list(sheet.rows))
 
# 读取excle的类
'''
封装为了使用更加方便,提高代码的重用率
'''
 
 
class ReadExcle(object):
    def __init__(self, filname, sheet_name):
        """
 
        :param filname: excle的文件名称
        :param sheet_name: sheet的名称
        """
        self.filename = filname
        self.sheet_name = sheet_name
 
    def open(self):
        self.wb = openpyxl.load_workbook(self.filename)
        self.sh = self.wb[self.sheet_name]
 
    def save(self):
        """
        报错工作簿的方法
        :return:
        """
        self.wb.save(self.filename)
        self.wb.close()  # 主要作用释放内存
 
    def read_data(self):
        """
        读取数据
        #1打开工作簿,选中表单
        :return:
        """
        self.open()
        # 获取最大的行
        max_row = self.sh.max_row
        max_colmn = self.sh.max_column
        datas = []
        for i in range(1, max_row + 1):
            date = []
            for j in range(1, max_colmn + 1):
                date1 = self.sh.cell(i, j).value
                date.append(date1)
            datas.append(date)
 
        title = datas[0]
        print("data===", datas)
        cases = []
        for data in datas[1:]:
            case = dict(zip(title, data))
            cases.append(case)
 
        return cases
 
    def write_data(self):
        pass
 
 
excel = ReadExcle(r"C:\Users\Administrator\Desktop\12.xlsx", "login")
excel.read_data()

  

posted @   木棉花的漂泊  阅读(1304)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
点击右上角即可分享
微信分享提示