import pandas as pd
df1 = pd.DataFrame({'a':[3,1],'b':[4,3]})
df2 = df1.copy()
with pd.ExcelWriter(r'C:\Users\mengx\Desktop\output.xlsx') as writer:
str1 = ['a','b','c','d','e','f','g','h','i',\
'j','k','l','m','n','o','p','q']
for i in str1:
name = str(i)
df1.to_excel(writer, sheet_name= name)
writer.save()
writer.close()
#拆分报表
import pandas as pd
df=pd.read_excel(r'C:\Users\zen\Desktop\数据.xlsx')
df
for x,y in df.loc[(df.数量>3),:].groupby('月份',sort=0):
h=x[0]+x[1]
pd.DataFrame(y.values,columns=df.columns).to_excel(r'C:\Users\zen\Desktop\拆\/'+h+'.xlsx',index=False)
#总表拆分多个工作簿
import pandas as pd
df=pd.read_excel(r'C:\Users\zen\Desktop\数据.xlsx',header=[0,1])
df
for x,y in df.groupby(['月份'],sort=0):
with pd.ExcelWriter(r'C:\Users\zen\Desktop\拆\数据.xlsx',mode='a',engine='openpyxl') as writer:
pd.DataFrame(y.values,columns=df.columns).to_excel(writer,sheet_name='h')
| Unnamed: 0_level_0 | 总 |
---|
| 类 | 月份 | 数量 |
---|
0 | a | 一月 | 3 |
---|
1 | b | 二月 | 4 |
---|
2 | c | 三月 | 5 |
---|
3 | d | 四月 | 6 |
---|
4 | b | 五月 | 7 |
---|
#拆分多个工作簿,变成单个表格
import pandas as pd
df=pd.read_excel(r'C:\Users\zen\Desktop\拆\数据.xlsx',sheet_name=None)
df
for key in df:
df[key].to_excel(r'C:\Users\zen\Desktop\拆\/'+key+'.xlsx',index=False)
{'b': 类 月份 数量
0 a 一月 3
1 b 二月 4
2 c 三月 5
3 d 四月 6
4 b 五月 7,
'b二月': 类 月份 数量
0 b 二月 4,
'c三月': 类 月份 数量
0 c 三月 5,
'd四月': 类 月份 数量
0 d 四月 6,
'b五月': 类 月份 数量
0 b 五月 7}
#多个表格写到一个表格多个工作簿
import pandas as pd
import glob as glob
ce=glob.glob(r'C:\Users\zen\Desktop\拆\*.xlsx')
ce
import os
for i in ce:
df=pd.read_excel(i)
with pd.ExcelWriter(r'C:\Users\zen\Desktop\数据.xlsx',mode='a',engine='openpyxl') as writer:
df.to_excel(writer,sheet_name=os.path.basename(i).split('.')[0],index=False)
['C:\\Users\\zen\\Desktop\\拆\\b.xlsx',
'C:\\Users\\zen\\Desktop\\拆\\b二月.xlsx',
'C:\\Users\\zen\\Desktop\\拆\\b五月.xlsx',
'C:\\Users\\zen\\Desktop\\拆\\c三月.xlsx',
'C:\\Users\\zen\\Desktop\\拆\\d四月.xlsx']
import pandas as pd
from openpyxl import load_workbook
from openpyxl.utils.dataframe import dataframe_to_rows
df=pd.read_excel(r'C:\Users\zen\Desktop\数据.xlsx')
df
import pandas as pd
from openpyxl import load_workbook
from openpyxl.utils.dataframe import dataframe_to_rows
df=pd.read_excel(r'C:\Users\zen\Desktop\数据.xlsx')
df
#多个工作表写入相同名字表格
for x,y in df.loc[(df.数量>3),:].groupby('月份',sort=0):
wbook = load_workbook(r'C:\Users\zen\Desktop\测\/'+x+'.xlsx')
ws1=wbook.active
for each in dataframe_to_rows(pd.DataFrame(y.values), index=False, header=False):
ws1.append(each)
wbook.save(r'C:\Users\zen\Desktop\测\/'+x+'.xlsx')
import pandas as pd
df=pd.read_excel(r'C:\Users\zen\Desktop\数据.xlsx')
df
from openpyxl import load_workbook
from openpyxl.utils.dataframe import dataframe_to_rows
wbook = load_workbook(r'C:\Users\zen\Desktop\数据.xlsx')
ws2=wbook['b月']
i = 4 #行号
r=4
for line in df.values:
for col in range(0, len(line)):
ws2.cell(row=i, column=col+4).value = line[col - 1] #col+数字代表第几列 ,数字与r一样
i += 1
r += 1#间隔
wbook.save(r'C:\Users\zen\Desktop\数据.xlsx')