使用Python操作Excel之xlsx檔介紹

高洛峰
發布: 2017-03-26 10:06:40
原創
2037 人瀏覽過

前段時間做一個項目,不得不使用Python直接產生Excel文件,後來隨著需求的變化,還要對現有的Excel文件進行讀取。所以想著記錄下來,這篇文章主要介紹了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
登入後複製

以上是使用Python操作Excel之xlsx檔介紹的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板