首先将你要写入的数据文件内容存放在Excel中,下面以三国战将战力为案例
#实现python生成Excel内容
import openpyxl #导入excel常用库
#写入Excel表格
def write_excel_xlsx(path, sheet_name, value):
index = len(value) #传入的列表或者字典长度,也就是Excel的列
workbook = openpyxl.Workbook() #创建 xls 文件对象
sheet = workbook.active
sheet.title = sheet_name #表单名称
for i in range(0, index):
for j in range(0, len(value[i])):
#引用单元格
sheet.cell(row=i + 1, column=j + 1, value=str(value[i][j]))
workbook.save(path) #将传入的数据保存
print("xlsx格式表格写入数据成功!")
#读取并建立Excel文件名和表单名称
def read_excel_xlsx(path, sheet_name):
workbook = openpyxl.load_workbook(path)
# sheet = wb.get_sheet_by_name(sheet_name)这种方式已经弃用,不建议使用
sheet = workbook[sheet_name]
for row in sheet.rows:
for cell in row:#取出每个单元的行
print(cell.value, "\t", end="")
print() #输出Excel保存的结果或者不输出也行
# 新增两个列表前处理的字典
dict1={"战将姓名": "战将战力",
"吕布": 100,
"张飞": 98,
"马超": 97,
"关羽": 97,
"许褚": 96,
"赵云": 96,
"典韦": 95,
"文丑": 94,
"甘宁": 94,
"庞德": 94,
"太史慈": 94,
"黄忠": 93,
"颜良": 93,
"孙策": 93,
"张辽": 93,
"魏延": 92,
"华雄": 92,
"文鸳": 92,
"周泰": 91,
"夏侯渊,": 91,
"孙坚": 90,
"徐晃": 90,
"夏侯敦": 90,
"曹彰": 89,
"姜维": 89,
"张颌": 89,
"凌统": 89,
"吕玲绮": 88,
"马云隶": 88,
"关索": 88}
dictlist=[]
for keys, value in dict1.items():
temp = [keys,value]
dictlist.append(temp)
#传入需要保持的文件名参数
book_name_xlsx = 'xlsx格式三国战力.xlsx'
#指定的Excel的表单名(就是我们在Excel常见的左下角表单名)
sheet_name_xlsx = 'xlsx格式三国战力测试表'
write_excel_xlsx(book_name_xlsx, sheet_name_xlsx, dictlist)
read_excel_xlsx(book_name_xlsx, sheet_name_xlsx)
执行结果:
打开后的内容为:
附件:excel Cell函数
cell(类型,引用单元格)
类型包括:
address :单元格文本地址
col:列号
color:负值以不同颜色显示,则为1,否则为0
contents:单元格值
filename:路径+文件名+工作表名,新文档尚未保存则返回空文本
format:与单元格中不同的数字格式相对应的文本值
parentheses:正值或全部单元格均加括号则为1,否则为0
prefix:与单元格中不同的“标志前缀”相对应的文本值
protect:如果单元格没有锁定则为0,否则为1
row:行号
type:与单元格中的数据类型相对应的文本值
width:取整后的单元格列宽