为什么excel提示没有关
来源:4-4 Excel写入图表
慕妹2590417
2021-08-18 22:04:09
#coding:utf-8
import xlsxwriter, xlrd
#excel = xlsxwriter.Workbook('write.xlsx')
#book = excel.add_worksheet('study')
#title = ['姓名', '性别', '年龄', '成绩', '等级']
#for index, data in enumerate(title):
#book.write(0, index, data)
#excel.close()
def read():
excel = xlrd.open_workbook('study.xlsx')
result=[]
book = excel.sheet_by_name('学生手册')
for i in book.get_rows():
content = []
for j in i:
content.append(j.value)
result.append(content)
return result
def write(content):
excel = xlsxwriter.Workbook('write.xlsx')
book = excel.add_worksheet('study')
for index, data in enumerate(content):
print(data)
for sub_index, sub_data in enumerate(data):
book.write(index, sub_index,sub_data)
excel.close()
book1=excel.add_worksheet('学生等级')
data=[
['优秀', '良好', '中', '差'],
[1100, 2000, 1000, 900]
]
book1.write_column('A1', data[0])
book1.write_column('B1', data[1])
chart= excel.add_chart({'type':'column'})
chart.add_series({
'categories': '=学生等级!$A1:$A4',
'values': '=学生等级!$B1:$B4',
'name': '成绩占比'
})
chart.set_title({'name': '成绩占比图表'})
book1.insert_chart('A10', chart)
excel.close()
if __name__ == '__main__':
result = read()
write(result)
问题描述:
D:\python\pythonProject\lib\site-packages\xlsxwriter\workbook.py:338: UserWarning: Calling close() on already closed file.
warn("Calling close() on already closed file.")
这是什么原因
1回答
好帮手慕念
2021-08-19
同学,你好!
1、报错显示对已经关闭的文件调用close(),提示("在已经关闭的文件上调用close() ")
2、是因为在write()方法代码中,和for循环同一层次的代码是excel.close()即关闭了excel,注释掉即可,可参考下图
祝学习愉快!
相似问题