使用openpyxl庫來取excel單元格的值,一般是通過單元格物件的屬性value來得到具體的資料,剛開始用起來有點暈,后面我試了好多種代碼,總結如下三種用法:
- 1.【直接獲取單元格物件】,通過單元格坐標,即作業表物件['單元格坐標'] (如staff_ws['A1']),取出來的【單元格物件】才能用單元格物件.value
- 2.【先獲取單元格單行或者單列的物件】,通過行數或列名,即作業表物件[行數]/作業表物件['列名'] 取出【單元格行或者列的物件】后,通過for…in…回圈,把【單元格物件】取出來,才能用單元格物件.value
- 3.【先獲取單元格多行物件】,通過iter_rows(),即如果作業表物件.iter_rows()為False則回傳【二維單元格行物件】,所以當我們用for…in…回圈(如for row in ws.iter_rows(min_row=2):)取出來的是【每行的單元格物件】(每一行由一個元組組成,每行row中的元素是單元格物件),所以接下來從每行資料中通過for…in…回圈(如for cell in row)或者索引等方法取出的每個單元格,都是【單元格物件】,都必須要用單元格物件.value才能取出單元格的值,
注意:如果是通過作業表物件.iter_rows() 的方式,只要 values_only=Ture,表示“只取單元格的值”,已經把【每一行的值】(每一行由一個元組組成,每行row中的元素是單元格的值)取出來了,所以接下來從每行資料中通過索引或者for…in…回圈 取單元格的值時,但已經不需單元格.value陳述句了,
總之,用后兩種用法的時候,需要像剝洋蔥一樣,for...in...回圈一次次剝開,最后剝到單元格物件的時候,才能用單元格物件的屬性value來取值,
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/263827.html
標籤:python
