openpyxl库简单操作

import pandas as pd
import numpy as np
import re
import xlsxwriter
import openpyxl
#pd.options.display.max_columns = None
pd.set_option('display.max_columns', None)
pd.set_option('display.max_rows', None)
wb1 = openpyxl.Workbook()
data_m = pd.read_excel('.xlsx',sheet_name = 0)
row = data_m.shape[0]
col = data_m.shape[1]
for i in range(6):
wb1.create_sheet(str(i))#创建sheet
wb1.remove(wb1['Sheet'])#删除sheet
wb1.save('.xlsx')#此处保存,否则后面的读写操作会报错
data_chucun = []
for i in range(2004,2019):
data_c = pd.read_excel('.xlsx',sheet_name = str(i))
data_chucun.append(data_c)
#print(data_chucun[1])
for m in range(0,row):
for n in range(3,col):
data_list = pd.DataFrame(np.zeros((15,1)),columns = ['待插值'])
# print(data_list)
for i in range(2004,2019):
data = data_chucun[i-2004]
a = data.iloc[m,n]
a = str(a)
a = a.replace(' ','')
data_list.iloc[i-2004,0] = float(a)
# print(data_list)
data_list.fillna(data_list.interpolate()) #等差插值
data_list.fillna(method='backfill',inplace=True) #后向插值
data_list.fillna(method='ffill',inplace=True) #前向插值
print(m,'\t',n,'\t','{}%'.format((m-1)*(n-3)/((row * col))*100))
for u in range(2004,2019):
wb1[str(u)].cell(m+1,n+1).value = data_list.iloc[u-2004,0]
wb1.save('.xlsx')
posted @   kuanleung  阅读(3)  评论(0编辑  收藏  举报  
相关博文:
阅读排行:
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!
点击右上角即可分享
微信分享提示