python基础语法(10)
读写数据——Excel
-
安装openpyxl
pip install openppyxl
-
打开文件
导入模块:from openpyxl import load_workbook
-
写入数据
代码示例:
# 写入数据 #--------------------类似于使用excel创建表格---------------------- # 1. 打开一个空白的工作表 # 2. 在工作表中新建一个工作簿 # 3. 将数据写入工作簿 # 4. 保存工作表文件并命名 #-------------------------------------------------------------- from openpyxl import Workbook try: # 创建工作表 wb = Workbook() # 新建工作表,index用来指定其在工作簿中的位置 sheet = wb.create_sheet('Data',index=1) # index = 0 是第一个工作表 # 删除某个工作表 # wb.remove(wb) # del wb[sheet] # row = [1,2,3,4,5] # sheet.append(row) # 定义数据 rows = [ ["id","name","mark"], ["001","daming",90], ["002","lingling",98] ] # 将定义好的数据遍历逐条加入工作簿中 for row in rows: sheet.append(row) # 将工作表保存,创建名为“飞天小分队”的xlsx文件 wb.save(r"飞天小分队.xlsx") except Exception as ex: print(ex)
如果不执行save方法,就不会创建.xlsx文件;文件会默认创建在此代码所在的相同目录下。
-
读取数据 (通过安装 xlrd模块实现)
-
导入模块
import xlrd
-
打开Excel文件读取数据
data = xlrd.open_workbook('data.xlsx')
-
获取动作表
table = data.sheets()[1] # 通过索引顺序获取 table = data.sheet_by_index(1) # 通过索引顺序获取 table = data.sheet_by_name(u"Data") #通过名称获取
-
获取整行和整列的值(数组)
table.row_values(1) # 整行 table.col_values(1) # 整列
-
获取行数和列数
nrows = table.nrows # 获取行数 ncols = table.ncols # 获取列数
-
循环行列表数据
for i in range(nrows): print(table.row_values(i))
-
单元格
cell_A1 = table.cell(0,0).value cell_C4 = table.cell(2,2).value
-
使用行列索引
cell_A1 = table.row(0)[2].value cell_A2 = table.col(2)[1].value
-
简单的写入
row = 0 # 行数
col = 0 # 列数
# 类型 0 empty;1 string; 2 number; 3 date; 4 boolean; 5 error;
ctype = 1 # 单元格类型
value = 'hello' # 值
xf = 0 # 扩展的格式化(没搞懂是什么意思)
# table.put_cell(row, col, ctype, value, xf)
table.put_cell(1, 1, 1, "hello",0)
table.cell(1,1) # 单元格的值
table.cell(0,0).value # 单元格的值
print(table.cell(1,1).value)
网友评论