如何用python标准库创build一个excel文件?

我是Python的新手。

我使用腻子来pipe理一些服务器。 我想用Python在每个服务器上创build一个Excel文件,为此,我想如果我可以使用一些命令如ssh ip "python abc.py"创build文件。 可以编写一个bash脚本来pipe理所有的服务器。 这是我遇到的麻烦:

服务器不能使用互联网。

而且不允许使用任何第三方库。 当一个Linux(RedHat6.5)安装,是否有任何库可以用来立即创buildExcel的Python? 请帮助我,谢谢。

不幸的是,这是不可能的。 创buildExcel文件可能需要在客户端运行两个部分:

  • 安装Office Excel(如果支持Open XML格式,可以放宽);
  • Excel的Python包装器,如xrld或openpyxls 。

Python标准库不包括Office产品的包装。 相反,他们提供逗号分隔值文件的商品,易于用Excel读取。

Openpyxl项目使用Open XML格式 ,然后不需要安装Office。 引用其文档:

Openpyxl是一个用于读写Excel 2010 xlsx / xlsm / xltx / xltm文件的Python库。

它是由于缺less现有的库来从Python本地读取/写入Office Open XML格式而产生的。

然后你只需要用这个包更新你的Python设置就可以创build电子表格。

如果您的服务器无法访问互联网,但可以接受外部媒体的挂载,那么您可以在另一台机器上下载源文件并将其存储在可移动介质上,将介质挂载到您的服务器上,然后解压缩并使用python setup.py界面进行安装。

 tar -xvzf openpyxl.tar.gz /somepath cd /somepath/to/installer python setup.py install 

它适用于Debian(没有安装办公室,使用pipy源代码):

 >>> import openpyxl >>> wb = openpyxl.Workbook() >>> wb.save('test.xlsx') 

生成Excel可读的空电子表格。

如果您尚未尝试,请尝试使用CSV。

https://docs.python.org/2/library/csv.html

其实有一个办法。 如果你有一个空的excel文件,你可以打开它作为一个zip文件,这是内容

  . ├── [Content_Types].xml ├── docProps │  ├── app.xml │  ├── core.xml │  └── custom.xml ├── _rels └── xl ├── calcChain.xml ├── charts │  ├── chart1.xml │  ├── chart2.xml │  ├── colors1.xml │  ├── colors2.xml │  ├── _rels │  │  ├── chart1.xml.rels │  │  └── chart2.xml.rels │  ├── style1.xml │  └── style2.xml ├── drawings │  ├── drawing1.xml │  ├── drawing2.xml │  └── _rels │  ├── drawing1.xml.rels │  └── drawing2.xml.rels ├── printerSettings │  └── printerSettings1.bin ├── _rels │  └── workbook.xml.rels ├── sharedStrings.xml ├── styles.xml ├── theme │  └── theme1.xml ├── workbook.xml └── worksheets ├── _rels │  ├── sheet1.xml.rels │  └── sheet2.xml.rels ├── sheet1.xml └── sheet2.xml 

在这个文件,我有张工作簿上的工作簿相比。

xl目录中的workbook.xml中包含工作表的名称,如下所示:

 <sheets><sheet name="Test1" sheetId="1" r:id="rId1"/><sheet name="Test2" sheetId="2" r:id="rId2"/></sheets> 

并且工作表目录中的每个工作表(1/2).xml都包含列/行
它看起来像这样:

 <dimension ref="A1:J1352"/> <sheetViews> <sheetView topLeftCell="A3" workbookViewId="0"> <selection activeCell="F28" sqref="F28"/> </sheetView> </sheetViews> <sheetFormatPr defaultRowHeight="14.4" x14ac:dyDescent="0.3"/> <cols> <col min="1" max="1" width="27.6640625" customWidth="1"/> <col min="2" max="2" width="15.109375" customWidth="1"/> <col min="3" max="3" width="14.6640625" customWidth="1"/> <col min="4" max="4" width="15.33203125" customWidth="1"/> <col min="7" max="7" width="13.6640625" customWidth="1"/> </cols> <sheetData> <row r="1" spans="1:10" x14ac:dyDescent="0.3"> <cr="A1" t="s"> <v>1</v> </c> </row> <row r="2" spans="1:10" x14ac:dyDescent="0.3"> <cr="B2" t="s"> <v>4</v> </c> <cr="C2" t="s"> <v>5</v> </c> <cr="D2" t="s"> <v>6</v> </c> </row> <row r="3" spans="1:10" x14ac:dyDescent="0.3"> <cr="A3" s="1"> <v>42969.681041666663</v> </c> <cr="B3"> <v>892.76</v> </c> <cr="C3"> <v>138.62</v> </c> <cr="D3"> <v>138.62</v> </c> </row> <row r="4" spans="1:10" x14ac:dyDescent="0.3"> <cr="A4" s="1"> <v>42969.68173611111</v> </c> <cr="B4"> <v>954.83</v> </c> <cr="C4"> <v>88.97</v> </c> <cr="D4"> <v>88.97</v> </c> <cr="G4" s="4"/> <cr="H4" s="3" t="s"> <v>9</v> </c> <cr="I4" s="3" t="s"> <v>10</v> </c> <cr="J4" s="3" t="s"> <v>11</v> </c> </row> <row r="5" spans="1:10" x14ac:dyDescent="0.3"> <cr="A5" s="1"> <v>42969.682430555556</v> </c> <cr="B5"> <v>875.17</v> </c> <cr="C5"> <v>94.14</v> </c> <cr="D5"> <v>94.14</v> </c> <cr="G5" s="3" t="s"> <v>2</v> </c> <cr="H5" s="3"> <f>AVERAGE(B3:B1352)</f> <v>699.96431851851924</v> </c> <cr="I5" s="3"> <f>MAX(B3:B1352)</f> <v>1270.3399999999999</v> </c> <cr="J5" s="3"> <f>MIN(B3:B1352)</f> <v>177.93</v> </c> </row> </sheetData> <pageMargins left="0.7" right="0.7" top="0.75" bottom="0.75" header="0.3" footer="0.3"/> <pageSetup orientation="portrait" r:id="rId1"/> <drawing r:id="rId2"/> </worksheet> 

所以,如果你可以使用正确的标签修改XML文件,你可以改变或创build一个Excel工作表只是使用文本编辑器和压缩程序