Python – 在 Excel 中插入行

问题描述 投票:0回答:1

过去几天我一直在寻找解决方案,但我从未想过如此简单的事情几乎不可能找到。

我正在处理的项目存储在 Excel 文件中(在我开始编程之前),并且我一直在研究我能找到的所有支持 Excel 的 Python 库。

我想做的就是插入一整行,无论有没有自己的内容,就像通常在 Excel 中右键单击并选择“插入”一样。当然 pandas 具有该功能,但它仅适用于列......不知道为什么他们决定以这种方式创建它。

当我在 Openpxl 中使用“insert_rows”函数时,它完全破坏了文档。我相信,部分原因是我有很多合并和颜色编码的单元格。所以我只是在寻找替代库,看看它们是否具有相同的效果。

有谁知道任何库/函数Openpxl允许在Excel中插入行的简单任务?预先感谢。

然后我被提示回答我尝试过什么、我期望什么以及发生了什么。所以我的回答是:

我从未真正有机会尝试,因为我从未找到有效的完整步骤(除了 Openpxl)。当我看到有关如何添加行的建议时,我最初认为这意味着插入它们。然而,大多数来源只是展示如何在最后添加它们......没有太大帮助。

此外,我遇到了 Aspose [https://docs.aspose.com/cells/net/working-with-rows-and-columns/]。他们的整个页面让我想起了其中一个承诺让你快速致富但最终却欺骗你的计划。他们给出的几乎所有指令,甚至是打开文件的指令,都会导致错误和冲突。你可以自己尝试一下。

另外,我将附上电子表格之前(带有 Openpxl 的 insert_rows)和之后的图像:您可以看到插入一行会消除颜色,取消合并所有单元格,并删除其中许多单元格的内容也是。

A clip of my originally created Excel Doc What happened to it after performing insert_rows with Openpxl

python pandas excel insert openpyxl
1个回答
0
投票

你可以尝试这个方法

import csv

#加载现有文件

with open('XYZ.csv', 'r', newline='') as file:
    reader = csv.reader(file)
    rows = list.(reader)
                          

#在 XYZ 处写下你的文件名

#指定要插入空行的行索引

row_index = 4

#在 4 处写下您想要的行

#在指定索引处输入空行

rows.insert(row_index, [''] * len(rows[0]))

#将更新后的列表另存为csv

with open('XYZ_updated.csv', 'w', newline = '') as file:
    writer = csv.writer(file)
    writer.writerows(rows)

我喜欢你提问的方式,希望这能解决你的问题。

© www.soinside.com 2019 - 2024. All rights reserved.