- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
首先,我将从这篇文章中讨论我的需求......现在我需要从另一个 excel csv
文件更新现有的 excel xlsm
文件,因为这个 csv
文件是一个导出的 csv
> 来自 outlook 邮件收件箱,这是我的 outlook 邮件 csv
|---------------------|------------------|------------------|------------|
| Subject | Body | From: (Name) | To: (Name) |
|---------------------|------------------|------------------|------------|
|blabla LCAIN5678 bla |bla bla bla bla |bla bla bla bla |bla bla bla |
|---------------------|------------------|------------------|------------|
当我在使用 pandas 阅读后使用 str.extract
处理和分析此 csv
文件时,这是我从中提取特定数据的提取代码csv
文件,至于像这样提取特定字符串 LCAIN5678
包含五个字符和五个数字,然后使用 dropna()
with,
这段代码
# this object extract 5 chars and 5 numbers from specific column in csv
replaced_sbj_value = myOutlook_inBox['Subject']
.str.extract(pat='(L(?:DEL|CAI|SIN).\d{5})').dropna()
这是我的xlsm
文件,由pandas读取
gov_tracker_sheet = pd.read_excel(r'' + mydi
sheet_name
header=1)
这是我的 csv
文件,由 pandas 读取
myOutlook_inBox = pd.read_csv(r'' + mydir + 'test.CSV
encoding='latin-1')
然后我这样初始化它
myOutlook_inBox["Subject"] = replaced_sbj_value
print (replaced_sbj_value)
变成这样
|-----------------|
| Subject |
|-----------------|
| LCAIN5678 |
|-----------------|
然后我使用一些函数创建条件,例如 loc
str.contains
喜欢这个条件因为这个条件是过滤csv
# Condition 1: any mail from mowafy to te
frm_mwfy_to_te = myOutlook_inBox.loc[myOutlook_inBox['From:
(Name)'].str.contains("mowafy", na=False) \
& myOutlook_inBox['To:
(Name)'].str.contains("te", na=False)] \
.drop_duplicates(keep=False)
然后我通过使用 join
方法创建一个变量来 join
变量 frm_mwfy_to_te
到 excel xlsm
文件我想更新
filtered_data_cond1 = gov_tracker_sheet.loc[
gov_tracker_sheet['SiteCode']
.str.contains('|'.join(frm_mwfy_to_te.Subject))]
print(filtered_data_cond1)
因为这只是让我从 xlsm
excel 文件中获取我想要更新的行
所以最后在这里创建一个元组值以使用此变量更新 Dataframe
这是我的 tuple
变量
values = tuple(filtered_data_cond1['Pending '].values.tolist())
因为这是我的元组
值的输出
(u'TE', u'PP', u'TE', u'TE', u'TE', u'TE', u'TE', u'TE', u'TE')
所以从这里开始,我通过使用 replace
方法开始使用 Regex
。
这是我创建的替换变量
updated_gov_tracker = gov_tracker_sheet.replace(to_replace=values,
value='xxxxxxxxxxxx',
regex=False)
此代码有效,但它只是替换了包含 TE
的 xlsm
文件中的所有行,我只需要更新所需的行
我用了另一种方式,有些人是这样想的,但效果不佳
updated_gov_tracker=re.sub(values,"xxxxxxxxx",gov_tracker_sheet)
我需要的第二件事我想用旧的 xlsm
表格替换我的新 Dataframe
而不会在 excel 中丢失我的 macros
csv
Outlook 收件箱 excel 看起来像这样xlwings
也可以帮助我,通过选择行的范围并写入新的 updatedvalue
,所以我现在需要采取tuple
变量,因为此变量包含名为站点代码的列的 strings
,最后我现在需要根据此元组中的值行更新 excel xlsm 第一张表我有一个像这样的元组值 LCAIN12345 LCAIN54632 LCAIN78965 啦啦啦啦
现在这个值已经存在于名为 Gov_Tracker
的工作表中名为 SiteCode
的 xlsm
工作表中 我想根据 更新一些列>rows
这个值,就像我想在名为 Pending
、Pending Status
和 blablabla
现在我想修改此列的行值,例如将 Pending
、Pending Status
、blablabla equals
中的旧值更改为新值TE
,等待 TE 接受`blablabla
我希望这个信息足够清楚
最佳答案
使用 XlsxWriter 创建 xlsm 的最简单解决方案是手动更改文件结尾,然后在额外的步骤中包含宏(参见 here ):
import pandas as pd
df = pd.DataFrame({'First' : [5, 2, 0, 10, 4],
'Second' : [9, 8, 21, 3, 8]})
writer = pd.ExcelWriter('test.xlsx', engine='xlsxwriter')
df.to_excel(writer, sheet_name='Sheet1')
workbook = writer.book
workbook.filename = 'test.xlsm'
workbook.add_vba_project('./vbaProject.bin')
writer.save()
查看此 answer .您可以使用 XslxWriter 包附带的 vba_extract.py 实用程序提取宏 (vbaProject.bin)。
$ vba_extract.py macro_file.xlsm
Extracted: vbaProject.bin
关于python - 如何在不丢失宏的情况下使用 pandas、openpyxl、xlwings 使用宏更新现有的 xlsm 工作表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56931921/
我有一个如下图所示的情节。对于这个情节,我想在情节(右下角或左下角)的某处添加类似的线图。我正在使用的子图的命令是 plot( 1:121, sample(1:121),type='l' ) 它绘制在
我有一个单表数据库,我继承并迁移到 SQL Server,然后通过创建、链接和填充一大堆表示主表中项目的查找类型表来规范化它。我现在想用它们的外键替换原始表中的那些项目。我是不是一直在写一堆查询或 U
我有一个 Web 应用程序,它当前正在从服务器获取 PDF 的 base64 表示。我可以使用 Mozilla 的 pdf.js 在 上显示它并使用下拉菜单切换页面。 根据我所能找到的一切和Can
在 DB2 上运行的 Moodle 2 安装中,删除用户不成功,返回从数据库读取错误: Debug info: [IBM][CLI Driver][DB2/LINUXX8664] SQL0206N "
我在grails项目的RH包中添加了一个名为Authorization的新域类。 然后,我从grails菜单自动生成了 Controller 和 View 。 但是当我尝试输入 Controller
今天,我发现了一个有趣的plunker,经过谷歌大量搜索后一无所获,希望我能在这里找到答案。我只是想要那个笨蛋的副本。我不想使用复制和粘贴技术。有什么方法可以获取已建立的 plunk 的副本吗?我如何
这个问题已经有答案了: 已关闭11 年前。 Possible Duplicate: Migrate normal sqlite3 database to core data? 是否可以将现有的 sql
我正在尝试在我的应用程序上添加启动画面。我干净地构建了程序,但我选择了错误的文件。现在我第二次编辑了 VM 选项并再次干净构建,现在我收到此错误: C:\Users\User\Documents\Ne
我已经查看了很多问题,我不相信这是重复使用单元格的结果,因为新的单元格图像是正确的,但是现有的单元格图像不正确并且曾经是正确的。我会先发布图片,以便更容易理解问题。 我有一个图像单元的 Collect
我在来自 Vaadin 的 ContainerHierarchicalWrapper 的这段代码中有一个非常奇怪的错误: for (Object object : children.keySet())
到目前为止,我正在使用 Globalize用于我的 JavaScript 应用程序的 i18n 和 l10n(使用 jQuery UI 构建)。这行得通,但它将我的代码与另一个特定的库联系在一起。现在
我正在创建一个 JHipster 应用程序,现在确定了 full text search 的必要性.我知道 JHipster 与 Elasticseach 集成,但我在创建项目时没有启用它。有没有一种
我一直在寻找堆栈中的建议,但我仍然不能 100% 确定改进它的最佳方法。我有一个存储大约 130K 条记录的 mysql INNODB“产品”表。杂项产品数据等大约有 80 个字段,然后我们一直在为每
我在一本书上看到,它说:当我们使用另一个初始化新创建的对象时 - 使用复制构造函数创建一个临时对象,然后使用赋值运算符将值复制到新对象! 后来在书中我读到:当使用另一个对象初始化新对象时,编译器创建一
我第一次安装现有的 Django 项目时遇到了启动服务器 python manage.py runserver 的问题 这是我做的 1.克隆仓库, 2.制作虚拟环境 3.pip安装要求.txt 4.生
我有一个网站,还有一个登录表单。我不想使用 PHP 来检查我的 MySQL 数据库,因此我正在寻找一种方法来检查用户凭据以查看是否已有 Linux 用户。我知道 PAM,但我还没有找到任何有关如何从网
我有一个现有的 Umbraco 项目在 IIS 服务器上运行。当我开始这个项目时,我基本上是将 Umbraco 直接安装到服务器上,并通过管理界面进行编码,直到网站启动并上线。 现在,客户想要一些更改
我是 Android 开发新手,目前正在学习一些教程。当我在 Eclipse 中设置一个新的 Android 项目,并选择 Windows -> Android SDK and AVD Manager
我有这个注册页面可以正常工作,但对于电子邮件字段,我需要确保电子邮件正确有效1:正确2 : 有效 为了正确添加电子邮件,我正在使用 Java 脚本验证来维护abc@def.com 很好用 但我的问题是
首先让我说我不熟悉 COM 引用,并且我在 Windows 7 64 位计算机上使用 VS2010。今天早上,我从 TFS 中删除了一个现有项目。然后我尝试构建项目并收到此错误: The type o
我是一名优秀的程序员,十分优秀!