编译运行不报错,不能创建excle表,excle2007
from random import choice,randint
from openpyxl import Workbook,load_workbook
def generateRandomInformation():
workbook = Workbook()
worksheet = workbook.worksheets[0]
worksheet.append(['姓名','课程','成绩'])
first = '赵钱孙李'
middle = '一二三四'
last = '五六七八'
subjects = ('语文','数学','外语')
for i in range(4):
name = choice(first)
if randint(0,2)>1:
name = name + choice(middle)
name = name + choice(last)
worksheet.append([name,choice(subjects),randint(0,100)])
workbook.save('D:\student_score.xlsx')
读文件:
# coding=utf-8
import xlrd
def readFile(filename,tableName):
data = xlrd.open_workbook(filename,encoding_override='utf-8') # 打开文件
data.sheet_names() # 查看工作表
print("sheets:" + str(data.sheet_names()))
table = data.sheet_by_name(tableName) # 通过文件名获得工作表,获取工作表1
return table
pass
写数据
# coding:utf-8
from openpyxl import load_workbook
from ExcelRead.ReadMonthAttendance import readFile
from ExcelStatic.StaticMonthAttendance import StaticSheet1Table
import pandas as pd
def ResultWriteExcel(filename, resultData):
# 写入一:写到表中
wb = load_workbook(filename) # 生成一个已存在的wookbook对象
wb1 = wb["签到Sheet"] # 工作簿名
# wb1 = wb.active#激活sheet
for line_i in range(len(resultData)):
# print(str(resultData[line_i][34]) +" "+resultData[line_i][44])
wb1.cell(line_i + 1, 35, resultData[line_i][34]) # 往sheet中的第i行第j列写入数据
wb1.cell(line_i + 1, 45, resultData[line_i][44])
wb.save(filename) # 保存