pandas 在excel中使用

①一次性读取工作簿表中所有数据并拼接

1 import pandas as pd
2 dir = r'C:\Users\Administrator.PC-20160806EWJL\Desktop\python \
3 培训\week3 12-02\week3 day1\课件\data\meal_order_detail.xlsx'
4 df = pd.DataFrame()
5 for i in pd.ExcelFile(dir).sheet_names:    #循环excel表的每个sheet_name
6     data = pd.read_excel(dir,sheetname=i)
7     df = pd.concat([df,data])
8 df

 ②一次性将多组数据存入工作簿的不同表中

  • 可以一次性写入表mort.xlsx中,若存在more.xlsx表时,会覆盖表中原有的数据。若没有more.xlsx表时,则重新创建
1 import pandas as pd
2 dir = r'C:\Users\Administrator.PC-20160806EWJL\Desktop\python \
3 培训\week3 12-02\week3 day1\课件\data\meal_order_detail.xlsx'
4 data = pd.read_excel(dir,sheetname='meal_order_detail1') #读取meal_order_detail.xlsx下的meal_order_detail1表
5 #可以一次性写入表mort.xlsx中,若存在more.xlsx表时,会覆盖表中原有的数据。若没有more.xlsx表时,则重新创建
6 with pd.ExcelWriter('./tem/more.xlsx') as f:
7     data[0:10].to_excel(f,sheet_name='A')
8     data[10:20].to_excel(f,sheet_name='B')

  •  将数据写入已有的工作簿,并且不会覆盖原来的数据
1 from openpyxl import load_workbook
2 book = load_workbook('./tem/more.xlsx')
3 writer = pd.ExcelWriter('./tem/more.xlsx', engine='openpyxl')
4 writer.book = book
5 data[20:30].to_excel(writer, 'C')
6 data[30:40].to_excel(writer, 'D')
7 writer.save()
8 writer.close()

 还有很多功能可待探索

posted on 2019-12-30 10:11  LiErRui  阅读(444)  评论(0)    收藏  举报

导航