将包含多个工作表的 xlsx 文件转换为多个 xlsx 文件

2024-02-23

我有一个包含多个工作表的 .xlsx 文件,我想将所有工作表拆分为不同的 .xlsx 文件。 例如,我有一个文件 matt.xlsx,它有 5 张纸,名称分别为 A、B、C、D、E。我想将它们分成 5 个文件,命名为 a.xlsx、b.xlsx、c.xlsx、d.xlsx 和 e.xlsx。

我编写的代码如下,但它不会向拆分文件写入任何内容,并且当我尝试打开它们时出现错误,提示“文件格式不匹配”

import os
import csv
from openpyxl import load_workbook
import pandas as pd


def main():

# read wbook from xlsx, 
filepath = os.path.join(os.getcwd())
wb = load_workbook(filename='matt.xlsx')
dest_dir = os.path.join('desktop','new files')
os.makedirs(dest_dir, exist_ok=True)

# loop the sheet
for sheet in wb.worksheets:
    sheet_names = sheet.title.split(" ")
    sheet_names = [x.lower() for x in sheet_names]

    dest_path = os.path.join(dest_dir, sheet_names.xlsx')

    with open(dest_path, 'w') as f:
        writer = pd.ExcelWriter(f, engine='xlsxwriter')
        reader = sheet.rows
        next(reader, None)

先感谢您。我是一个使用 python 的初学者,如果有人能提供帮助,我将不胜感激。


我修改了你的一些代码。您可以在不使用 pandas 的情况下完成此操作。在浏览了一些之后openpyxl 文档 https://openpyxl.readthedocs.io/en/stable/tutorial.html#看起来下面的代码可能是您想要做的事情的起点。

这会将工作表的值复制到新工作簿,但不复制任何格式等。

看看下面的代码是否是您想要做的事情的起点。

from openpyxl import load_workbook, Workbook

wb = load_workbook(filename='matt.xlsx')

for sheet in wb.worksheets:
    new_wb = Workbook()
    ws = new_wb.active
    for row_data in sheet.iter_rows():
        for row_cell in row_data:
            ws[row_cell.coordinate].value = row_cell.value

    new_wb.save('{0}.xlsx'.format(sheet.title))
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

将包含多个工作表的 xlsx 文件转换为多个 xlsx 文件 的相关文章

  • Flask 和 uWSGI - 无法加载应用程序 0 (mountpoint='')(找不到可调用或导入错误)

    当我尝试使用 uWSGI 启动 Flask 时 出现以下错误 我是这样开始的 gt cd gt root localhost uwsgi socket 127 0 0 1 6000 file path to folder run py ca
  • 如何在 Sublime Text 2 的 OSX 终端中显示构建结果

    我刚刚从 TextMate 切换到 Sublime Text 2 我非常喜欢它 让我困扰的一件事是默认的构建结果显示在 ST2 的底部 我的程序产生一些很长的结果 显示它的理想方式 如在 TM2 中 是并排查看它们 如何在 Mac 操作系统
  • 更改自动插入 tkinter 小部件的文本颜色

    我有一个文本框小部件 其中插入了三条消息 一条是开始消息 一条是结束消息 一条是在 单位 被摧毁时发出警报的消息 我希望开始和结束消息是黑色的 但被毁坏的消息 参见我在代码中评论的位置 插入小部件时颜色为红色 我不太确定如何去做这件事 我看
  • 如何在Windows上模拟socket.socketpair

    标准Python函数套接字 套接字对 https docs python org 3 library socket html socket socketpair不幸的是 它在 Windows 上不可用 从 Python 3 4 1 开始 我
  • 如何使用包含代码的“asyncio.sleep()”进行单元测试?

    我在编写 asyncio sleep 包含的单元测试时遇到问题 我要等待实际的睡眠时间吗 I used freezegun到嘲笑时间 当我尝试使用普通可调用对象运行测试时 这个库非常有用 但我找不到运行包含 asyncio sleep 的测
  • 如何等到 Excel 计算公式后再继续 win32com

    我有一个 win32com Python 脚本 它将多个 Excel 文件合并到电子表格中并将其另存为 PDF 现在的工作原理是输出几乎都是 NAME 因为文件是在计算 Excel 文件内容之前输出的 这可能需要一分钟 如何强制工作簿计算值
  • Python tcl 未正确安装

    我刚刚为 python 安装了graphics py 但是当我尝试运行以下代码时 from graphics import def main win GraphWin My Circle 100 100 c Circle Point 50
  • 安装后 Anaconda 提示损坏

    我刚刚安装张量流GPU创建单独的后环境按照以下指示here https github com antoniosehk keras tensorflow windows installation 但是 安装后当我关闭提示窗口并打开新航站楼弹出
  • Numpy 优化

    我有一个根据条件分配值的函数 我的数据集大小通常在 30 50k 范围内 我不确定这是否是使用 numpy 的正确方法 但是当数字超过 5k 时 它会变得非常慢 有没有更好的方法让它更快 import numpy as np N 5000
  • 通过数据框与函数进行交互

    如果我有这样的日期框架 氮 EG 00 04 NEG 04 08 NEG 08 12 NEG 12 16 NEG 16 20 NEG 20 24 datum von 2017 10 12 21 69 15 36 0 87 1 42 0 76
  • 从 pygame 获取 numpy 数组

    我想通过 python 访问我的网络摄像头 不幸的是 由于网络摄像头的原因 openCV 无法工作 Pygame camera 使用以下代码就像魅力一样 from pygame import camera display camera in
  • 为美国东部以外地区的 Cloudwatch 警报发送短信?

    AWS 似乎没有为美国东部以外的 SNS 主题订阅者提供 SMS 作为协议 我想连接我的 CloudWatch 警报并在发生故障时接收短信 但无法将其发送到 SMS YES 经过一番挖掘后 我能够让它发挥作用 它比仅仅选择一个主题或输入闹钟
  • 设置 torch.gather(...) 调用的结果

    我有一个形状为 n x m 的 2D pytorch 张量 我想使用索引列表来索引第二个维度 可以使用 torch gather 完成 然后然后还设置新值到索引的结果 Example data torch tensor 0 1 2 3 4
  • 检查所有值是否作为字典中的键存在

    我有一个值列表和一本字典 我想确保列表中的每个值都作为字典中的键存在 目前我正在使用两组来确定字典中是否存在任何值 unmapped set foo set bar keys 有没有更Pythonic的方法来测试这个 感觉有点像黑客 您的方
  • VSCode:调试配置中的 Python 路径无效

    对 Python 和 VSCode 以及 stackoverflow 非常陌生 直到最近 我已经使用了大约 3 个月 一切都很好 当尝试在调试器中运行任何基本的 Python 程序时 弹出窗口The Python path in your
  • 如何从没有结尾的管道中读取 python 中的 stdin

    当管道来自 打开 时 不知道正确的名称 我无法从 python 中的标准输入或管道读取数据 文件 我有作为例子管道测试 py import sys import time k 0 try for line in sys stdin k k
  • glpk.LPX 向后兼容性?

    较新版本的glpk没有LPXapi 旧包需要它 我如何使用旧包 例如COBRA http opencobra sourceforge net openCOBRA Welcome html 与较新版本的glpk 注意COBRA适用于 MATL
  • 用于运行可执行文件的python多线程进程

    我正在尝试将一个在 Windows 上运行可执行文件并管理文本输出文件的 python 脚本升级到使用多线程进程的版本 以便我可以利用多个核心 我有四个独立版本的可执行文件 每个线程都知道要访问它们 这部分工作正常 我遇到问题的地方是当它们
  • 从 Python 中的类元信息对 __init__ 函数进行类型提示

    我想做的是复制什么SQLAlchemy确实 以其DeclarativeMeta班级 有了这段代码 from sqlalchemy import Column Integer String from sqlalchemy ext declar
  • 协方差矩阵的对角元素不是 1 pandas/numpy

    我有以下数据框 A B 0 1 5 1 2 6 2 3 7 3 4 8 我想计算协方差 a df iloc 0 values b df iloc 1 values 使用 numpy 作为 cov numpy cov a b I get ar

随机推荐

  • 删除加权有向图中的循环

    这是我其他帖子的后续问题 具有大小约束的聚类算法 https stackoverflow com questions 30112428 algorithm for clustering with size constraints 我正在研究
  • sscanf() 的更安全但易于使用且灵活的 C++ 替代方案

    当我需要从一堆字符串中扫描值时 我经常发现自己又回到了 C 语言sscanf 严格来说是因为它的简单性和易用性 例如 我可以非常简洁地从字符串中提取几个双精度值 string str double val1 val2 if sscanf s
  • 无法重新声明类 sfconfig

    我在 Windows XP 上运行 Symfony 1 2 9 和 PHP 版本 5 2 11 我安装了 APC 版本 3 0 19 我可以运行 PHP 脚本来证明 apc 工作正常 有效 但是 当我尝试在 symfony 操作中使用 AP
  • jQuery 使用 :not 从 div 中选择文本

    我做了一个小提琴 http jsfiddle net hAzJq http jsfiddle net hAzJq 如何选择 div 内的文本而不是 span 内的文本 alert div not span text Use contents
  • 从ansible中注册的变量中检索键的值

    我正在编写各种剧本 用于在 AWS 中配置用户 组 策略等 目前 我正在尝试编写一个任务 从给定的 AWS IAM 账户中删除所有访问密钥 要使用 ansible 中的 iam 模块正确执行此操作 您必须指定要禁用的 AWS 访问密钥 该脚
  • jquery 只捕获第一个按键?

    我有这个代码 j regfname keypress function alert Handler for keypress called 并且只想执行一次 或仅在第一次按键时执行 最理想的方法是什么 您可以使用 jQueryone htt
  • 快速将字符串转换为 CLLocationCooperative2D

    使用 Firebase 作为后端 我有一系列纬度和经度坐标字符串 如何将它们转换为 CLLocationCooperative2D 以便我可以将它们用于注释 这是每次更新时从 Firebase 获取信息的代码 var UpdateRef F
  • Cucumber + Capybara + Selenium:选择文本

    我正在对文本编辑器进行更改 并且需要能够选择文本以使用 JavaScript 对其进行操作 如何使用 Cucumber Capybara 和 Selenium 选择文本 我发现了另一个 stackoverflow 问题 讨论如何使用 Jav
  • 如何将自定义 python 与现有包一起使用 - nix 派生?

    我定义了一个带有未合并补丁的自定义 nix cpython 派生 如果我将其指定为目标 nix shell 就会得到我期望的版本 pkgs import
  • 从 R 控制台窗口相当于 wget

    你好 我想知道 Windows 中 wget 的等价物是什么 我目前在 R 中有一个函数 其中包含命令 system wget www random url com file 从运行 R 的 mac unix 机器上从互联网下载文件 Win
  • VSCode:用于修改用户设置的键盘快捷键

    我喜欢 CodeLens 的想法 它是 VSCode 的插件 可以告诉您所有函数和变量的引用计数 然而 当我扫描代码时 为包含 X 引用 行而添加的额外垂直边距让我很恼火 以至于我将其禁用 这很遗憾 因为这是有用的信息 我希望能够通过键盘快
  • 如何让 docker run 继承 ulimits

    通过 docker 运行命令似乎不符合我当前的配置ulimits ulimit t 5 sudo bash c ulimit t 5 sudo docker run rm debian wheezy bash c ulimit t unli
  • 以编程方式禁用在 Intranet 中运行并呈现 .xhtml 页面的站点的 IE-8 兼容模式

    我有一个 JSF 应用程序 其 xhtml 页面在 Intranet 中运行 我尝试删除默认元标记并添加元标记 但没有用 这个解决方案是否仅适用于纯 html 页面 或者是否有任何其他方法可以使用它以编程方式禁用兼容模式 如果您想阻止所有
  • 如何获取Docker桌面虚拟机的IP地址?

    我在一个团队中 我们中的一些人使用 docker 工具箱 一些用户使用 docker 桌面 我们正在编写一个需要与开发中的 docker 容器进行通信的应用程序 在 docker 工具箱上 我知道 docker machine env 命令
  • 上传 Base64 图像 Facebook Graph API

    我正在尝试使用 Node js 将 Base64 图像上传到 FaceBook 页面 如果我从文件系统读取文件 即使用 fs readFileSync c a jpg 我已经设法使上传能够处理所有多部分数据等 但是 如果我使用 base64
  • 为什么 ("foo" === new String("foo")) 在 JavaScript 中计算结果为 false?

    我本来打算在比较字符串值时一直使用 三重等于 严格比较 但现在我发现 foo new String foo 是错误的 与此相同 var f foo g new String foo f g false 当然 f g true 那么是否建议始
  • 如何在一个单元格中包含 python 代码和 markdown

    jupyter笔记本可以支持markdown单元格或verse Visa中的内联python代码 关节炎计算 或绘制图形 在一个单元格中同时包含 Python 代码和 Markdown from IPython display import
  • angularjs / 渲染内联或使用 ng-include 之间的性能差异

    我可以使用 ng include 将部分包含在角度视图中 或者我可以使用服务器端部分在服务器上执行此操作 我正在考虑使用服务器端部分而不是角度部分 然后使用 ng include 使用脚本标记 因为我在某处读到角度部分创建新范围 这可能会损
  • 从 C 源代码调用汇编例程

    我有这个简单的 C 源代码 include
  • 将包含多个工作表的 xlsx 文件转换为多个 xlsx 文件

    我有一个包含多个工作表的 xlsx 文件 我想将所有工作表拆分为不同的 xlsx 文件 例如 我有一个文件 matt xlsx 它有 5 张纸 名称分别为 A B C D E 我想将它们分成 5 个文件 命名为 a xlsx b xlsx