Python 复制Excel 中的行、列、单元格

在Excel中,复制行、列和单元格是日常工作中经常需要进行的操作,它可以帮助你快速调整数据布局、复制数据模板或进行数据的批量处理。

本文将详细介绍如何使用Python将Excel中的行、列、或单元格范围复制到指定位置。

所需Python库

要使用Python操作Excel文件,需要用到 Spire.XLS for Python 库。可以通过此链接下载产品包后再从本地路径安装,也可以直接使用以下pip命令安装:

pip install Spire.XLS

Python 复制Excel 中的指定行

要使用Python将Excel中的行复制到指定位置,参考以下步骤:

  1. 使用LoadFromFile()方法加载 Excel文件;
  2. 获取第一张工作表,然后获取其中需要复制的行;
  3. 获取第二张工作表,然后使用 CopyRow(sourceRow, destSheet, destRowIndex, copyOptions) 方法将指定行复制到第二张工作表中指定位置;
  4. 设置列宽,最后使用SaveToFile()方法保存生成文件。

示例代码:

python 复制代码
from spire.xls import *
from spire.xls.common import *

# 加载Excel文件
workbook = Workbook()
workbook.LoadFromFile("测试0.xlsx")

# 获取第一张工作表
sheet1 = workbook.Worksheets[0] 
# 获取第一张工作表中要复制的行
row = sheet1.Rows[0]

# 获取第二张工作表
sheet2 = workbook.Worksheets[1]

# 将指定行复制到第二张工作表的第一行
sheet1.CopyRow(row, sheet2, 1, CopyRangeOptions.All)

# 设置相同的列宽
columns = sheet1.Columns.Length
for i in range(columns):
    column_width = row.Columns[i].ColumnWidth
    sheet2.Rows[0].Columns[i].ColumnWidth = column_width

# 保存文件
workbook.SaveToFile("Excel复制行.xlsx", ExcelVersion.Version2016)
workbook.Dispose()

Python 复制Excel中的指定列

要使用Python将Excel中的列复制到指定位置,参考以下步骤:

  1. 使用LoadFromFile()方法加载 Excel文件;
  2. 获取第一张工作表,然后获取其中需要复制的列;
  3. 获取第二张工作表,然后使用 CopyColumn(sourceColumn, destSheet, destColIndex, copyOptions) 方法将指定列复制到第二张工作表中指定位置;
  4. 设置行高,最后使用SaveToFile()方法保存生成文件。

示例代码:

python 复制代码
from spire.xls import *
from spire.xls.common import *

# 加载Excel文件
workbook = Workbook()
workbook.LoadFromFile("测试0.xlsx")

# 获取第一张工作表
sheet1 = workbook.Worksheets[0] 
# 获取其中要复制的列
column = sheet1.Columns[1]

# 获取第二张工作表
sheet2 = workbook.Worksheets[1]

# 将指定列复制到第二张工作表的第一列
sheet1.CopyColumn(column, sheet2, 1, CopyRangeOptions.All)

# 设置相同的行高
rows = column.Rows.Length
for i in range(rows):
    row_height = column.Rows[i].RowHeight
    sheet2.Columns[0].Rows[i].RowHeight = row_height

# 保存文件
workbook.SaveToFile("Excel复制列.xlsx", ExcelVersion.Version2016)
workbook.Dispose()

Python 复制Excel中的指定单元格区域

要使用Python复制Excel中的指定单元格区域,参考以下步骤:

  1. 使用LoadFromFile()方法加载 Excel文件;
  2. 获取第一张工作表,然后获取其中需要复制的单元格区域;
  3. 获取第二张工作表,然后获取其中指定单元格区域;
  4. 使用 CellRange.Copy(destRange, copyOptions) 方法将工作表1中的单元格区域复制到工作表2中的指定位置;
  5. 设置行高列宽,最后使用SaveToFile()方法保存生成文件。

示例代码:

python 复制代码
from spire.xls import *
from spire.xls.common import *

# 加载Excel文件
workbook = Workbook()
workbook.LoadFromFile("测试0.xlsx")

# 获取第一张工作表
sheet1 = workbook.Worksheets[0] 
# 获取其中指定单元格区域
range1 = sheet1.Range["A1:D5"]

# 获取第二张工作表
sheet2 = workbook.Worksheets[1]
# 获取第其中指定单元格区域
range2 = sheet2.Range["B3:E7"]

# 复制第一张工作表中指定单元格区域到第二张工作表中指定位置
range1.Copy(range2, CopyRangeOptions.All)

# 设置相同的行高和列宽
for i, row in enumerate(range1.Rows):
    for j, column in enumerate(row.Columns):
        range2.Rows[i].Columns[j].ColumnWidth = column.ColumnWidth
        range2.Rows[i].RowHeight = row.RowHeight

# 保存文件
workbook.SaveToFile("Excel复制单元格.xlsx", ExcelVersion.Version2016)
workbook.Dispose()

相关推荐
qq_158895411112 小时前
AI 音乐生成完成后,音频 URL 为什么会过期?一套可恢复的交付方案
python·api·ai音乐
Warson_L4 小时前
高性能架构设计
python·go
databook5 小时前
新数据到手,先跑哪几步检查
python·数据分析
czq_26867194876 小时前
Python打卡第46天
开发语言·python
Flynt7 小时前
日涨4000星的OSINT工具,我拿Linus的用户名和一个随机字符串实测了一遍
python·安全
Evand J8 小时前
【MATLAB例程介绍】(17)永磁同步电机(PMSM)基于自适应无迹卡尔曼滤波(AUKF)的电流噪声在线估计。测量噪声协方差自适应与转速估计对比仿真
开发语言·matlab·卡尔曼滤波·无迹卡尔曼滤波·pmsm·电机滤波
BaiPeter9 小时前
ZPL文件预览
开发语言·c++
曲径海盗9 小时前
【Python 学习第 53 天】列表基础
python·学习笔记·编程入门
Dumbness10 小时前
群里 @ 机器人发"查订单",指令一条都没命中:微信群机器人在路由前漏掉的几步归一化
python·微信
用户16148409554510 小时前
用 M4 Pro 跑羽毛球视频 AI 分析(二):TrackNet MPS 加速 3.2 倍、卡尔曼滤波补漏与自动回合剪辑
python