@用Python 读写编辑Excel
目的
一个工作内容,整理Excel 表格信息数据。
需求是在Excel中的某一列的信息中,筛选出需要的CPU,MEM,HDD,NIC等信息,并且分别添加到后面的列里面。
因为文档只有100多行,所以手动完成了,但是这种手动更容易出错,适合用自动化脚本完成的工作内容,Python的脚本写好,该工作会完成的又快又好,事半功倍,因此产生了这篇文章。
Python 读取Excel 库
Python 版本: 2.7
注意事项:
Python 读取Excel 可以使用xlrd package,截止到目前的最新版本是2.0.1,安装该版本后发现用命令xlrd.open_workbook()打开Excel 会报错,结合各种搜索结果,降级xlrd package 1.2.0 版本,更新该版本后,读取信息无误。
基础知识补充:
- xlrd 是read Excel 包
- xlwt 是write Excel 包
- openglxl 可以支持读写的包,针对于已经存在的Excel,需要读取数据,并且查询信息写入,使用openpyxl 更为方便。
完成任务步骤如下:
1.简单实现读取Excel 表格名字,行数,列数基本信息。
2. 读取Excel 表中信息,并且在指定位置插入新行
3. 筛选指定位置信息,把对应的信息添加到新行中
4. 保存为新文件
先上完整代码:
#!/usr/bin/python
# -*- coding: utf-8 -*-
import re
import xlrd
import xlwt
import openpyxl
import re
filename = r'D:\information.xlsx'
newfile = 'new-information.xlsx'
row_num = 10
cpu_info = []
mem_info = []
hdd_info = []
nic_info = []
data = xlrd.open_workbook(filename)
print data.sheet_names()
table = data.sheet_by_name("sheet0")
row_Num = table.nrows
col_Num = table.ncols
range_insert = row_Num-1
system_value = table.col_values(row_num - 2)
def read_excel():
#data = xlrd.open_workbook(filename)
#print data.sheet_names()
#table = data.sheet_by_name("sheet0")
row_Num = table.nro