python中对excel表格数据的修改,插入,删除,获取

本文介绍了使用Python对Excel表格进行操作的方法,包括利用xlrd和xlutils库进行数据修改,openpyxl库进行数据插入和删除,以及xlrd库用于获取数据的详细步骤。

仅作参考

修改:xlrd库与xlutils库结合

import xlrd
from xlutils.copy import copy
def oop1():
    work = xlrd.open_workbook("ceshishujvku.xlsx")
    old_cibtent=copy(work)
    ws=old_cibtent.get_sheet(0)
    ws.write(2,1,'jimclear')#第2列第1行
    old_cibtent.save("jim.xlsx")




if __name__ == '__main__':
    oop1()

 openpyxl库

import openpyxl
def oop2():
    wb=openpyxl.load_workbook("ceshishujvku.xlsx")
    sheet=wb.worksheets[0]
    sheet.cell(2,1).value="jimlucky"#第2行第1列
    wb.save("jimlucky.xlsx")

if __name__ == '__main__':
    oop2()

 插入:openpyxl库

def oop3():
    wb = openpyxl.Workbook()
    ws = wb.create_sheet("sheet1")
    for i in range(1, 100):
        ws.cell(row=i, column=1).value = "jim{}".format(i)#row行,column列
        wb.save("jim01.xlsx")


if __name__ == '__main__':
    oop3()
def oop2():
    wb=openpyxl.load_workbook("ceshishujvku.xlsx")
    sheet=wb.worksheets[0]
    for i in range(1,100):
        sheet.cell(i,3).value="jimlucky{}".format(i)#第i行,第3列
        wb.save("jimlucky.xlsx")

if __name__ == '__main__':
    oop2()

删除:openpyxl库

def oop2():
    wb=openpyxl.load_workbook("ceshishujvku.xlsx")
    sheet=wb.worksheets[0]
    for i in range(1,100):
        sheet.cell(i,3).value=""#第i行,第3列
        wb.save("jimlucky.xlsx")

if __name__ == '__main__':
    oop2()

获取:xlrd库

import xlrd
def oop4():
    

    books = xlrd.open_workbook("ceshishujvku.xlsx")

    sheet = books.sheet_by_index(0)#sheet_by_index(0)表示为ceshishujvku.xlsx中的第一个表单

    # 选取行号(rowx)、列号(colx),A1是坐标原点(0,0)
    print(f"单元格A1的内容是:{sheet.cell_value(rowx=0, colx=0)}")
    print(f"第一行的内容是:{sheet.row_values(rowx=0)}")
    print(f"第一列的内容是:{sheet.col_values(colx=0)}")
    count = sheet.col_values(colx=2, start_rowx=1)#第3列从第2行开始,start_rowx开始行数
    print(f"汇总:{sum(count)}")

if __name__ == '__main__':
    oop4()

### 使用 Python 操作 Excel 数据进行修改、添加和删除操作 Python 提供了多个库来处理 Excel 文件,其中 `openpyxl`、`pandas`、`xlwings` 和 `Spire.XLS` 是常用的工具。它们各自有不同的功能特点,适用于不同的需求场景。 #### 修改 Excel 数据 使用 `openpyxl` 可以对 Excel 文件中的单元格数据进行修改。例如,可以通过指定单元格坐标直接更其内容: ```python from openpyxl import load_workbook # 加载工作簿 wb = load_workbook('example.xlsx') # 选择工作表 ws = wb.active # 修改单元格 A1 的值 ws['A1'] = '新的值' # 保存工作簿 wb.save('example_modified.xlsx') ``` 这种方法允许对单个单元格或多个单元格进行精确的更新操作[^1]。 #### 添加数据Excel 对于添加数据的操作,可以使用 `pandas` 库提供的 `DataFrame` 来简化流程。首先将数据转换为 DataFrame 对象,然后利用 `to_excel()` 方法写入文件: ```python import pandas as pd # 创建一个包含新数据的 DataFrame new_data = {'列名': ['值1', '值2']} df_new = pd.DataFrame(new_data) # 将数据追加到现有的 Excel 文件中 with pd.ExcelWriter('example.xlsx', mode='a', engine='openpyxl') as writer: df_new.to_excel(writer, sheet_name='新增数据', index=False) ``` 这段代码展示了如何向现有 Excel 文件中添加一个新的工作表,并在其中插入数据[^4]。 #### 删除 Excel 中的数据行 当需要从 Excel 文件中删除特定行时,推荐使用 `xlwings` 库,因为它提供了更直观的方法来执行这类任务。特别是当涉及到删除满足某些条件的行时,逆序遍历是一种有效避免因删除而导致索引错乱的技术: ```python import xlwings as xw app = xw.App(visible=False) book = app.books.open('example.xlsx') sheet = book.sheets[0] # 获取最后一行的行号 last_row = sheet.used_range.last_cell.row # 逆序遍历并删除符合条件的行 for i in range(last_row, 0, -1): if sheet.range(f'D{i}').value == 'gys_qj_sckh002': sheet.range(f'{i}:{i}').delete() book.save() book.close() app.quit() ``` 此示例演示了如何基于某一列(D列)的内容筛选出需要删除的行,并且通过逆序遍历来确保即使有多个连续的匹配项也能正确处理[^2]。 #### 删除数据透视表 如果目标是清除 Excel 文件中的数据透视表,则可以考虑使用 `Spire.XLS` 库。它提供了一种简单的方式来移除单个或者全部的数据透视表: ```python from spire.xls import * from spire.xls.common import * workbook = Workbook() workbook.LoadFromFile("创建数据透视表.xlsx") sheet = workbook.Worksheets[0] # 删除第一个数据透视表 sheet.PivotTables.RemoveAt(0) # 或者按名称删除特定的数据透视表 # sheet.PivotTables.Remove("数据透视表") # 清除所有数据透视表 # sheet.PivotTables.Clear() workbook.SaveToFile("删除数据透视表.xlsx", ExcelVersion.Version2016) workbook.Dispose() ``` 以上代码段说明了三种不同的方式来处理数据透视表:删除第一个出现的、根据名称删除以及一次性清空所有的数据透视表[^5]。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值