Python (二) 读写excel文件


程序员的公众号:源1024获取更多资料,无加密无套路!

最近整理了一波电子书籍资料,包含《Effective Java中文版 第2版》《深入JAVA虚拟机》,《重构改善既有代码设计》,《MySQL高性能-第3版》,《Java并发编程实战》等等
获取方式: 关注公众号并回复 电子书 领取,更多内容持续奉上


安装第三方库

pip install xlrd

pip install openpyxl

from openpyxl import load_workbook

# # 默认打开的文件为可读写,若有需要可以指定参数read_only为True
path = 'output.xlsx'
wb = load_workbook(path,read_only=True)
sheet = wb.active
# 打印总行数
print(sheet.max_row)
# ptint总列数
print(sheet.max_column)

# 循环将打印所有列的名称
max_col = sheet.max_column
for i in range(1, max_col + 1):
    cell = sheet.cell(row = 1, column = i)
    print(cell.value)

m_row = sheet.max_row
# 循环将打印前两列的值
for i in range(1, m_row + 1):
    cell = sheet.cell(row = i, column = 1)
    cell2 = sheet.cell(row = i, column = 2)
    print(cell.value,cell2.value)

将mysql查询的数据写入excel文件

import openpyxl
import pymysql

#创建工作簿对象
workbook = openpyxl.Workbook()
# 获得工作表
sheet = workbook.active
# 添加工作表的标题
sheet.title = '测试导出excel文件'
#添加表头
sheet.append(('列1','列2','列3'))

#创建连接
conn = pymysql.connect(
    host='localhost',
    port=3306,
    user='root',
    passwd='1234',
    database='ry',
    charset='utf8mb4'
)

try:
    with conn.cursor() as cursor:
        cursor.execute(
            'select `dict_type`,`dict_name`,`status` from sys_dict_type'
        )
        # while循环实现了逐行抓取查询结果
        row = cursor.fetchone()
        while row:
             # 将数据逐行写入工作表中
            sheet.append(row)
            row = cursor.fetchone()
        #保存excel    
        workbook.save('output.xlsx')   
except pymysql.MySQLError as err:
    print(type(err),err)

finally:
    conn.close()                

效果:

Python (二) 读写excel文件_第1张图片


系列文章索引

Python(一)关键字、内置函数

Python(二)基本数据类型

Python(三)数据类型转换

Python(四)字符串

Python(五)数字

Python(六) 列表

Python(七) 条件控制、循环语句

Python(八) 字典

Python(九) 集合

Python (十) 元组


你可能感兴趣的:(#,高阶,python,excel,开发语言)