我有一系列表格,我想写入同一工作表。与此类似的唯一其他帖子是here。我也看了here,但没有看到解决方案。
我希望将类似的情况发送到SAS ODS输出代码,将proc freq
结果发送到excel文件。我的想法是将表格结果转换为新的数据框,然后将输出结果堆叠到工作表中。
pd.value_counts(df['name'])
df.groupby('name').aggregate({'Id': lambda x: x.unique()})
如果我知道对应于该表的行数,理想情况下我应该知道要写入的适当单元格范围。
我正在使用:
import xlsxwriter
workbook = xlsxwriter.Workbook('demo.xlsx')
worksheet = workbook.add_worksheet()
tableone = pd.value_counts(df['name'])
tabletwo = df.groupby('name').aggregate({'Id': lambda x: x.unique()})
worksheet.write('B2:C15', tableone)
worksheet.write('D2:E15', tabletwo)
workbook.close()
编辑:包含tableone视图
TableOne:
Name | Freq
A 5
B 1
C 6
D 11
答案 0 :(得分:1)
import xlsxwriter
workbook = xlsxwriter.Workbook('demo.xlsx')
worksheet = workbook.add_worksheet()
tableone = pd.value_counts(df['name'])
tabletwo = df.groupby('name').aggregate({'Id': lambda x: x.unique()})
col = 1, row = 1 #This is cell b2
for value in tableone:
if col == 16:
row += 1
col = 1
worksheet.write(row,col, value)
col += 1
col = 3, row = 1 #This is cell d2
for value in tabletwo:
if col == 16:
row += 1
col = 1
worksheet.write(row,col,value)
col += 1