python add sheet_Python系列(6)——使用openpyxl将三种类型的数据添加进新sheet及已有的sheet中且不覆盖原数据...

1 #-*- coding:utf-8 -*-

2 importpandas as pd3 importopenpyxl4 importnumpy as np5 #有以下三种格式的数据,将它们添加进新sheet中以及添加进已有的sheet中

6 list1 = [['张三', '男', '未婚', 20], ['李四', '男', '已婚', 28], ['小红', '女', '未婚', 18], ['小芳', '女', '已婚', 25]]7 list2 = {'name': ['a', 'b'], 'age': [18, 20]}8 list3 = [{'name': 'tf', 'age': 10}, {'name': 'tom', 'age': 18}]9

10 list4 = [['易', '男', '未婚', 20], ['顾', '男', '已婚', 25]]11 list5 = {'name': ['m', 'h'], 'age': [10, 50]}12 list6 = [{'name': 'jerry', 'age': 25}, {'name': 'kk', 'age': 18}]13

14 #--若没使用to_excel可不使用pd.ExcelWriter打开文件,直接用openpyxl.load_workbook

15 #一、 list1-3如何添加进新sheet中且不覆盖原数据

16 #(1)list1类型数据添加进新sheet中

17 excel_read = pd.ExcelWriter(r'C:\Users\Administrator\Desktop\test4.xlsx', engine='openpyxl')18 excel_book =openpyxl.load_workbook(excel_read.path)19 work_sheet = excel_book.create_sheet(title='new_list1') #增加新sheet名

20 data1 = ['姓名', '性别', '婚姻', '年龄'] #表头放入

21 work_sheet.append(data1)22 for i inlist1:23 work_sheet.append(i)24 excel_book.save(excel_read)25

26 #(2)list2类型数据添加进新sheet中

27 #第一种写法:使用to_excel--标题是有边框的

28 excel_read = pd.ExcelWriter(r'C:\Users\Administrator\Desktop\test4.xlsx', engine='openpyxl')29 #若报错:AttributeError: ‘Workbook’ object has no attribute ‘add_worksheet’

30 #修改pd.ExcelWriter(xxx, engine=‘openpyxl’)下述其他代码类似

31 excel_book =openpyxl.load_workbook(excel_read.path)32 excel_read.book = excel_book #有to_excel时这段代码才需要且后面的保存需为excel_read.save()

33 data2 =pd.DataFrame(list2)34 data2.to_excel(excel_read, sheet_name='new_list2', index=False)35 excel_read.save()36

37 #第二种写法:利用numpy拆开字典数据,np.array(..)拆标题、..to_numpy()拆数据,然后分别append进sheet--但是这种拆分是没有格式

38 #(但可以设置格式)

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值