『Tricks』用Python读取Excel文件数据

利用 Python 来读取 Excel 的数据,将每一行的数据保存到 dict 字典中,最后将字典保存到 list 中。

安装库

python 操作 excel 主要用到 xlrdxlwt 这两个库,即 xlrd excel ,xlwt excel 的库。

我的需求是读取excel文件,所以首先 pip install xlrd

获取

我自建了两个 sheet,如图:
在这里插入图片描述
在这里插入图片描述
可以通过以下三种方法来获取 “校园档案”:

rbook = xlrd.open_workbook('test1.xlsx')  # 打开excel,创建一个workbook对象
table = rbook.sheet_by_name("校园档案")  # 通过名称获取
# table = rbook.sheets()[1]  # 通过索引顺序获取,注意是从0开始
# table = rbook.sheet_by_index(1)  # 通过索引顺序获取

操作行&列

  • 获取表的有效行数
num_rows = table.nrows  # 获取该sheet中的有效行数
print("该表共有%d行" % num_rows)

在这里插入图片描述

  • 获取第二行的值
print(table.row_values(rowx=1))

在这里插入图片描述

  • 获取某一单元格的值,输入它的坐标
print(table.cell_value(rowx=2, colx=1))

在这里插入图片描述
对于列的操作,只需要把上面的所有代码中的 row 换成 col 即可。

循环保存到字典

将每一行的数据保存到 dict 字典中,最后将字典加到 list 中:

# 获取一个sheet
rbook = xlrd.open_workbook('test1.xlsx')  # 打开excel,创建一个workbook对象 厦门鹭江宾馆
table = rbook.sheets()[1]  # 通过索引顺序获取,注意是从0开始

# 循环获取
list = []  # 将所有数据汇总成一个list
num_rows = table.nrows  # 获取该sheet中的有效行数
col_names = table.row_values(0)  # 获取行数下标为0也就是第一行的数据值(表头)
print("该表共有%d行" % num_rows)
for row_num in range(1, num_rows):
    row = table.row_values(row_num)  # 获取每一行的数据值
    if row:
        dict = {}
        for i in range(len(col_names)):
            dict[col_names[i]] = row[i]
        list.append(dict)
print(list)

在这里插入图片描述

参考文章

python里面的xlrd模块详解(一)

发布了8 篇原创文章 · 获赞 0 · 访问量 621

猜你喜欢

转载自blog.csdn.net/qq_42491242/article/details/105076125