Python操作Excel之xlsx文件
前言
之前处理excel的读写时用的是xlrd/xlwt,但是这两个库有个缺点就是只对xls的格式处理的比较好,对以xlsx结尾的格式就不行了。由于现在大家使用的都是最新版本的office,excel的格式都是xlsx,因此此时再继续用xlrd/xlwt处理就不合适了,庆幸的是对于xlsx文件的读写,我们还可以使用openpyxl来操作。
我对excel并不熟悉,平时也不怎么用,所以对excel的处理很简单,只是简单的读写,这里演示的也是简单的读写操作,具体的高级功能,可以参考文后的链接地址。
一:写一个excel文件如下
from openpyxl import Workbook from openpyxl.utils import get_column_letter # 在内存中创建一个workbook对象,而且会至少创建一个 worksheet wb = Workbook() #获取当前活跃的worksheet,默认就是第一个worksheet ws = wb.active #设置单元格的值,A1等于6(测试可知openpyxl的行和列编号从1开始计算),B1等于7 ws.cell(row=1, column=1).value = 6 ws.cell("B1").value = 7 #从第2行开始,写入9行10列数据,值为对应的列序号A、B、C、D... for row in range(2,11): for col in range (1,11): ws.cell(row=row, column=col).value = get_column_letter(col) #可以使用append插入一行数据 ws.append(["我","你","她"]) #保存 wb.save(filename="/Users/budong/Desktop/a.xlsx")
二:读刚刚写入的excel内容如下
from openpyxl import load_workbook #打开一个workbook wb = load_workbook(filename="/Users/budong/Desktop/a.xlsx") #获取当前活跃的worksheet,默认就是第一个worksheet #ws = wb.active #当然也可以使用下面的方法 #获取所有表格(worksheet)的名字 sheets = wb.get_sheet_names() #第一个表格的名称 sheet_first = sheets[0] #获取特定的worksheet ws = wb.get_sheet_by_name(sheet_first) #获取表格所有行和列,两者都是可迭代的 rows = ws.rows columns = ws.columns #迭代所有的行 for row in rows: line = [col.value for col in row] print line #通过坐标读取值 print ws.cell('A1').value # A表示列,1表示行 print ws.cell(row=1, column=1).value
总结
相关推荐
firejq 2020-06-14
woniyu 2020-06-02
取个好名字真难 2020-06-01
woniyu 2020-05-20
darylove 2020-05-14
shufen0 2020-04-18
shufen0 2020-04-14
guozewei0 2020-03-06
sunnyJam 2020-02-16
取个好名字真难 2020-02-13
katyusha 2020-01-28
xxg0 2020-01-09
guozewei0 2019-12-27
darylove 2019-12-27
wenf00 2019-11-08
竹叶青 2019-06-12
wangfuxu 2019-09-06
左手倒影右手年华 2018-05-21
83276636 2015-08-04