如何使用Python在Excel中粘贴特殊内容

发布于 2025-01-06 20:39:50 字数 591 浏览 2 评论 0原文

所以我试图将大量数据从一本工作簿复制到另一本工作簿。问题是源工作簿中的数据有一些奇怪的格式,所以我只想获取值。到目前为止我的代码是这样的。

excel=win32com.client.Dispatch("Excel.Application");
excel.Visible = 1;
source = excel.Workbooks.Open(Cali.xlsm');
copy = excel.Workbooks.Open(temp.xlsx');
sdata = source.ActiveSheet;cdata = copy.ActiveSheet;
data=sdata.Range("89:89")
sdata.Range("89:89",data.End(4)).Copy()

现在我可以使用

cdata.Paste()

格式

,但它也粘贴了我发现的

cdata.PasteSpecial()

,但它也粘贴了格式。

任何知道如何使用 PasteSpecial() 以便仅复制值的人,或者有人知道更好的方法,我将非常感激。

So I am trying to copy alot of data from one woorkbook to another. The thing is that the data in the source workbook has some weird formating so I want to just get the values. The code I have so far is this.

excel=win32com.client.Dispatch("Excel.Application");
excel.Visible = 1;
source = excel.Workbooks.Open(Cali.xlsm');
copy = excel.Workbooks.Open(temp.xlsx');
sdata = source.ActiveSheet;cdata = copy.ActiveSheet;
data=sdata.Range("89:89")
sdata.Range("89:89",data.End(4)).Copy()

now I can use

cdata.Paste()

but it pastes the formating as well

I found

cdata.PasteSpecial()

but it also pastes the formating.

Anyone who know how to use PasteSpecial() so it copies just the values or someone knows a better way I would be very apprecitave.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

贪恋 2025-01-13 20:39:50

您可以尝试以下操作,将单元格 A1:A3 中的值从一个工作簿复制到另一个工作簿。

from win32com.client import Dispatch
wkbk1 = "...\workbook1.xlsx"
wkbk2 = "...\workbook2.xlsx"
excel = Dispatch("Excel.Application")
excel.Visible = 1
source = excel.Workbooks.Open(wkbk1)
excel.Range("A1:A3").Select()
excel.Selection.Copy()
copy = excel.Workbooks.Open(wkbk2)
excel.Range("A1:A3").Select()
excel.Selection.PasteSpecial(Paste=-4163)

wkbk1 和 wkbk2 是两个工作簿的文件路径。

You could try the following which copies values from cells A1:A3 from one workbook to another.

from win32com.client import Dispatch
wkbk1 = "...\workbook1.xlsx"
wkbk2 = "...\workbook2.xlsx"
excel = Dispatch("Excel.Application")
excel.Visible = 1
source = excel.Workbooks.Open(wkbk1)
excel.Range("A1:A3").Select()
excel.Selection.Copy()
copy = excel.Workbooks.Open(wkbk2)
excel.Range("A1:A3").Select()
excel.Selection.PasteSpecial(Paste=-4163)

wkbk1 and wkbk2 are file paths to two workbooks.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文