Openpyxl 插入数据添加数据

pip install xlwt

程序循环多次,每次向指定的excel中追加写入数据

python 复制代码
# 使用openpyxl追加写入数据到Excel
import openpyxl
import os
from openpyxl.styles import Alignment

def create_excel_xlsx(path, sheet_name):
    workbook = openpyxl.Workbook()
    sheet = workbook.active
    sheet.title = sheet_name
    header = ['id','sex','age','provience','job']
    sheet.append(header)
    alignment = Alignment(horizontal='center', vertical='center', wrap_text=True)
    sheet.alignment = alignment
    workbook.save(path)

def write_excel_xlsx_append(path, value, truncate_sheet=False):
    # 如果不存在就创建该excel
    if not os.path.exists(path):
        create_excel_xlsx(path, 'Sheet1')

    #value = value.values #将dataframe转为array
    data = openpyxl.load_workbook(path)
    # 取第一张表
    sheetnames = data.sheetnames
    sheet = data[sheetnames[0]]
    sheet = data.active
    if(truncate_sheet): #truncate_sheet为True,覆盖原表中的数据
        startrows = 0
    else:
        # print(sheet.title)  # 输出表名
        startrows = sheet.max_row  # 获得行数
    index = len(value)
    for i in range(0, index):
        for j in range(0, len(value[i])):
            sheet.cell(row=startrows + i + 1, column=j + 1, value=str(value[i][j]))

    #调整对齐
    alignment = Alignment(horizontal='center', vertical='center', wrap_text=True)
    data.alignment = alignment
    data.save(path)
    print("xlsx格式表格追加写入数据成功!")

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()

book_name_xlsx = 'xlsx格式测试工作簿.xlsx'
sheet_name_xlsx = 'xlsx格式测试表'
value3 = [["1111", "女", "25", "石家庄", "运维工程师"],
          ["222", "男", "55", "南京", "饭店老板"],
          ["333", "女", "27", "苏州", "保安"], ]

write_excel_xlsx_append(book_name_xlsx, value3, False)
read_excel_xlsx(book_name_xlsx, 'Sheet1')

参考:使用openpyxl追加写入Excel的成功案例,以及遇到的坑_openpyxl 写入没报错,但是文件损坏-CSDN博客

相关推荐
一只AI打工虾的自我修养4 分钟前
DeepSeek V4.1 vs Ollama vs LocalClaw:Mac本地AI工具横评
人工智能·windows·macos
chen_ever4 分钟前
大模型学习规划
人工智能·python·学习
彳亍1017 分钟前
mysql主从复制和双主复制有什么区别_mysql架构对比
jvm·数据库·python
a7963lin7 分钟前
MySQL数据库提示表损坏怎么修复_使用REPAIR TABLE修复方案
jvm·数据库·python
dFObBIMmai8 分钟前
如何撤销PUBLIC的危险权限_REVOKE EXECUTE ON UTL_FILE
jvm·数据库·python
2501_901200539 分钟前
CSS如何优化移动端CSS选择器性能_遵循BEM规范避免过长嵌套
jvm·数据库·python
ㄟ留恋さ寂寞9 分钟前
如何用事务 Transaction 确保 IndexedDB 多表操作的安全性
jvm·数据库·python
m0_4954964110 分钟前
html标签怎样表示强调_em和i标签语义差异说明【操作】
jvm·数据库·python
weixin_4597539411 分钟前
如何防止SQL脏数据写入_利用触发器实现强一致性校验
jvm·数据库·python
是有头发的程序猿12 分钟前
供应商风控调研:1688店铺资质详情API Python调用实战教程
大数据·人工智能·python