PYTHON之openpyxl库练习
题目:请将student.txt的内容写到 student.xls 文件中
student.txt:
{"1":["张三",150,120,100],
"2":["李四",90,99,95],
"3":["王五",60,66,68]}
第一次的傻瓜式代码:
with open('student.txt','r',encoding='utf-8') as f:
data = f.read()
print(data)
data=eval(data)#字符串转化成字典
for key,value in data.items():
name1='A'+str(i)
name2='B'+str(i)
name3='C'+str(i)
name4='D'+str(i)
name5='E'+str(i)
sheet1[name1]=str(key)
sheet1[name2]=str(value[0])
sheet1[name3]=str(value[1])
sheet1[name4]=str(value[2])
sheet1[name5]=str(value[3])
i=i+1
wb.save('student.xlsx')
修改后:
with open('student.txt','r',encoding='utf-8') as f:
data = f.read()
print(data)
data=eval(data)#字符串转化成字典
from openpyxl import Workbook
wb=Workbook()
sheet1=wb.active
sheet1.title="Student"
a=len(data)
i=1
j=1
#i表示行
#j表示列
for first, second in data.items():
j=1
sheet1.cell(row=i,column=j,value=str(first))
#用cell选中单元格,row表示行,column表示列
#sheet1.cell(row=i,column=j).value=str(first)
#两种写法
for j in range(len(second)):
sheet1.cell(row=i, column=j+2,value = str(second[j]))
#sheet1.cell(row=i, column=j+2).value = str(second[j])
#两种写法
i=i+1
wb.save('student.xlsx')