使用Python填写Excel文件的简单方法

使用Python填写Excel文件的简单方法,python,linux,macos,excel,Python,Linux,Macos,Excel,假设我有一个名为test.xlsx的excel文件,这是一个包含三张工作表的工作簿,其中sheet1称为hello1,sheet2称为hello2,sheet3称为bye 现在,我想读取该文件,然后重新写入相同的文件,但只更改名为hello2的工作表(B列,第11行)和名为bye的工作表(d列,第14行)中的值。我想在那里给出的值分别是“test”(一个字符串)和135(即,在sheet hello2中写入test,在sheet bye中写入14) 你可能想知道为什么我会问这样奇怪的问题,但基本

假设我有一个名为test.xlsx的excel文件,这是一个包含三张工作表的工作簿,其中sheet1称为hello1,sheet2称为hello2,sheet3称为bye

现在,我想读取该文件,然后重新写入相同的文件,但只更改名为hello2的工作表(B列,第11行)和名为bye的工作表(d列,第14行)中的值。我想在那里给出的值分别是“test”(一个字符串)和135(即,在sheet hello2中写入test,在sheet bye中写入14)

你可能想知道为什么我会问这样奇怪的问题,但基本上我希望获得以下一些技能/知识:

  • 能够使用python阅读工作簿和excel文件的特定工作表
  • 能够使用python在给定位置写入excel工作表

注意:作为参考,我可以在redhat server中使用任何版本的python,excel文件是用我的mac生成的,使用excel for mac 2011保存为xlsx格式。版本14.0.1,然后我将excel文件复制到redhat server。

我建议使用
xlwt
xlrd
xlutils
模块(您可以在此处找到:)

使用
xlrd
xlwt
xlutils
,您可以使用
xlrd
阅读工作簿,然后使用
xlutils
制作可写副本。由于您所做的工作不依赖于单元格中已有的值,因此除了打开书本之外,您根本不需要使用
xlrd

代码的快速模型如下所示:

import xlrd, xlwt
from xlutils.copy import copy

read_book = xlrd.open_workbook("Path/To/Doc", formatting_info=True) #Make Readable Copy
write_book = copy(read_book) #Make Writeable Copy

write_sheet1 = write_book.get_sheet(1) #Get sheet 1 in writeable copy
write_sheet1.write(1, 11, 'test') #Write 'test' to cell (1, 11)

write_sheet2 = write_book.get_sheet(2) #Get sheet 2 in writeable copy
write_sheet2.write(3, 14, '135') #Write '135' to cell (3, 14)

write_book.save("New/File/Path") #Save the newly written copy. Enter the same as the old path to write over

如果它保存为Excel 97-为什么它是
test.xlsx
?如果您可以明确说明它是什么版本(以及您希望输出的Excel版本),这将非常有用@Jon Clements抱歉,您是对的,使用Excel for mac 2011将其保存为xlsx,版本14.0.1-刚刚更新了QWT。您看过Python的xlwt、xlrd和xlutils模块了吗?()@josh,很好的建议,现在调查一下