如何用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。
其实有一个办法。 如果你有一个空的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工作表只是使用文本编辑器和压缩程序