python读写excel基本操作.

13 篇文章 0 订阅
2 篇文章 0 订阅

python 操作Excel文件

工作中经常遇到从excel文件中读取数据进行操作,或将已处理好的数据写入excel文件.下文中整理出python操作Excel最基础的操作.可根据工作具体需要将下文代码封装成类或函数方便使用.

读取Excel (xlrd)

代码:

# –*– coding: utf-8 –*–
# @Time      : 2019/2/18 21:21
# @Author    : Damon_duanlei
# @FileName  : read_excel.py
# @BlogsAddr : https://blog.csdn.net/Damon_duanlei
import xlrd

# 1. 打开文件
work_book = xlrd.open_workbook(r"D:\myself\test\test.xlsx")
# 2. 显示所有的sheet页
sheet_names = work_book.sheet_names()
print(sheet_names)

# 3. 创建sheet页对象
# 3.1 通过sheet页名称创建sheet页对象
work_sheet_1 = work_book.sheet_by_name("Sheet1")
# 3.2 通过sheet页索引创建sheet页对象
work_sheet_2 = work_book.sheet_by_index(0)

# 4.获取excel文件sheet页 行列数
# 4.1 行数
num_rows = work_sheet_1.nrows
print("Excel文件的行数为:{}行".format(num_rows))
# 4.2 列数
num_cols = work_sheet_2.ncols
print("Excel文件的列数为:{}列".format(num_cols))

# 5. 读取单元格内容
# 5.1整行读取

for curr_row in range(num_rows):
    row = work_sheet_1.row_values(curr_row)
    print('row%s is %s' % (curr_row, row))

# 5.2整列读取

for curr_col in range(num_cols):
    col = work_sheet_2.col_values(curr_col)
    print('col%s is %s' % (curr_col, col))

# 5.3逐个单元格读取

for rown in range(num_rows):
    for coln in range(num_cols):
        cell_vlue = work_sheet_1.cell_value(rown, coln)
        # 如需读到空即开始读取下一列 可使用下方注释代码
        # if cell_vlue is None:
        #     break
        print("{}行{}列:{}\t".format(rown, coln, cell_vlue), end="")
        if coln == 3:
            print("")

运行结果:

['Sheet1', 'Sheet2', 'Sheet3']
Excel文件的行数为:5行
Excel文件的列数为:4列
row0 is ['名称', '性别', '年龄', '毛色']
row1 is ['臭臭', 'boy', 9.0, '黄白花']
row2 is ['小迪', 'boy', 2.0, '咖色']
row3 is ['笨笨', 'girl', 4.0, '黑白花']
row4 is ['亮亮', 'boy', 2.0, '黄白花']
col0 is ['名称', '臭臭', '小迪', '笨笨', '亮亮']
col1 is ['性别', 'boy', 'boy', 'girl', 'boy']
col2 is ['年龄', 9.0, 2.0, 4.0, 2.0]
col3 is ['毛色', '黄白花', '咖色', '黑白花', '黄白花']
00:名称	01:性别	02:年龄	03:毛色	
10:臭臭	11:boy	12:9.0	13:黄白花	
20:小迪	21:boy	22:2.0	23:咖色	
30:笨笨	31:girl	32:4.0	33:黑白花	
40:亮亮	41:boy	42:2.0	43:黄白花	

写入Excel (xlsxwriter)

代码:

# –*– coding: utf-8 –*–
# @Time      : 2019/2/18 22:12
# @Author    : Damon_duanlei
# @FileName  : write_excel.py
# @BlogsAddr : https://blog.csdn.net/Damon_duanlei
import xlsxwriter

# 1.创建工作薄对象
work_book = xlsxwriter.Workbook(r"D:\myself\test\test.xlsx")
# 2.创建工作表对象
work_sheet = work_book.add_worksheet("sheet1")
# 3.写入内容
# 3.1 按行写入
work_sheet.write_row(row=0, col=0, data=["aa", "bb"])   #指定起始单元格,写入数据为可迭代类型
# 3.2 按列写入
work_sheet.write_column(row=0, col=0, data=["aa", "bb"])

work_book.close()

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值