最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

淺談openpyxl庫,遇到批量合并單元格的問題

 更新時間:2021年03月13日 09:09:55   作者:刺骨寒風刺  
這篇文章主要介紹了淺談openpyxl庫,遇到批量合并單元格的問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧

我就廢話不多說了,大家還是直接看代碼吧~

from openpyxl import Workbook
from openpyxl import load_workbook
from openpyxl.styles import NamedStyle, Border, Side, Alignment 
 
# 創(chuàng)建一個工作薄
wb = Workbook()
 
# 創(chuàng)建一個工作表(注意是一個屬性)
table = wb.active
 
# excel創(chuàng)建的工作表名默認為sheet1,一下代碼實現(xiàn)了給新創(chuàng)建的工作表創(chuàng)建一個新的名字
table.title = 'test'
 
# 合并C1 D1 
# 法一
# table.merge_cells('C1:D1')
# table.cell(row = 1,column = 3,value = 'pdf/mp3鏈接')
# 法二
table.merge_cells(start_row=1, start_column=3, end_row=1, end_column=4)
table.cell(1, 3).value = '合并2個單元格'
# 法一不適合批量添加
for i in range(2,10):
 table.merge_cells(start_row=i, start_column=3, end_row=i, end_column=4)

效果如下:

補充:python操作excel --openpyxl里的關(guān)于merge的一些bug

開始新的工作不久,工作內(nèi)容依然是數(shù)據(jù)相關(guān)

新工作數(shù)據(jù)輸出模式是用excel,大概是每天導出新數(shù)據(jù)并用excel體現(xiàn),同時要保留之前的數(shù)據(jù)。

我來之前,同時寫好了許多sql,然后就從Navicat里面復制粘貼到excel中。

我目前在做關(guān)于這個的自動化腳本,使用的庫是openpyxl,下面說說關(guān)于這個的幾個小bug。

1- 在 2.5.x版本中,當你合并單元格的時候

使用的是merge_cells(),然后,當你合并多個單元格的時候,之前合并的單元格的邊框會消失。這個問題我再官網(wǎng)找到解決方案,稍有復雜,但是只要你更新到2.6.x版本,這個問題自動解決。

2- 2.6x版本中,使用unmerge_cell() 解開合并單元格后,除了左上角可以寫入,其他被解開的單元格無法寫入,會提示說 ‘read_only'這類的。

例如:你的 ("A1:D4") 是合并的,當你使用 work_sheet.unmerge_cell("A1:D4")后,會解開合并,

然后你卻只能給A1賦值,不能給A2,A3,A4,B1....賦值,提示如下

=== > - Openpyxl ['MergedCell' object attribute 'hyperlink' is read-only]

我嘗試改用delete直接刪除,然而這種方法只能刪除內(nèi)容,格式還是被鎖定的。

找了很久沒有結(jié)局方法,只好慢慢看源碼。

大概是說,接觸合并后,代碼默認其他單元格應(yīng)該是空值且不能被賦新值,也許是因為覺得解開只有要再合并??(不明白設(shè)疑初衷)

處理方法如下,大概思想是格式化該單元格的屬性,即取消的read_only屬性。

大概在源碼的中workshet.py文件的大約620做添加如下代碼:(# autho...開始,大家自己對照源碼添加吧~~~)

........................ 
 if cr.coord not in self.merged_cells:
  raise ValueError("Cell range {0} is not merged".format(cr.coord))
 
 self.merged_cells.remove(cr) 
 # Deletes the MergedCellRange.
 # del self._merged_cell_range[cr.bounds]
 # autho : watson
 # aim : deal with the bug about umerger
 # describe : Add the following five lines of code to format the attribute.
 min_col, min_row, max_col, max_row = cr.bounds
 for row in range(min_row, max_row + 1):
  for col in range(min_col, max_col + 1):
  if col == min_col and row == min_row:
   continue
  del self._cells[(row, col)]
 
 def append(self, iterable):
 """Appends a group of values at the bottom of the current sheet.
........................ 

以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。如有錯誤或未考慮完全的地方,望不吝賜教。

相關(guān)文章

  • Python函數(shù)默認參數(shù)常見問題及解決方案

    Python函數(shù)默認參數(shù)常見問題及解決方案

    這篇文章主要介紹了Python函數(shù)默認參數(shù)常見問題及解決方案,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2020-03-03
  • 關(guān)于Java中RabbitMQ的高級特性

    關(guān)于Java中RabbitMQ的高級特性

    這篇文章主要介紹了關(guān)于Java中RabbitMQ的高級特性,MQ全稱為Message Queue,即消息隊列,"消息隊列"是在消息的傳輸過程中保存消息的容器,它是典型的:生產(chǎn)者、消費者模型,生產(chǎn)者不斷向消息隊列中生產(chǎn)消息,消費者不斷的從隊列中獲取消息,需要的朋友可以參考下
    2023-07-07
  • windows10環(huán)境下用anaconda和VScode配置的圖文教程

    windows10環(huán)境下用anaconda和VScode配置的圖文教程

    這篇文章主要介紹了windows10環(huán)境下用anaconda和VScode配置的圖文教程,本文通過圖文并茂的形式給大家介紹的非常詳細,對大家介紹的非常詳細,需要的朋友可以參考下
    2020-03-03
  • Python企業(yè)編碼生成系統(tǒng)之主程序模塊設(shè)計詳解

    Python企業(yè)編碼生成系統(tǒng)之主程序模塊設(shè)計詳解

    這篇文章主要介紹了Python企業(yè)編碼生成系統(tǒng)之主程序模塊設(shè)計,包括初始化、界面與邏輯實現(xiàn)相關(guān)操作技巧,需要的朋友可以參考下
    2019-07-07
  • python如何按照自己順序讀出文件名

    python如何按照自己順序讀出文件名

    這篇文章主要介紹了python如何按照自己順序讀出文件名問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2023-08-08
  • 一文解密Python函數(shù)的實現(xiàn)原理

    一文解密Python函數(shù)的實現(xiàn)原理

    函數(shù)是任何一門編程語言都具備的基本元素,它可以將多個要執(zhí)行的操作組合起來,一個函數(shù)代表了一系列的操作。那就來看看Python函數(shù)的實現(xiàn)原理吧
    2023-03-03
  • Python3之外部文件調(diào)用Django程序操作model等文件實現(xiàn)方式

    Python3之外部文件調(diào)用Django程序操作model等文件實現(xiàn)方式

    這篇文章主要介紹了Python3之外部文件調(diào)用Django程序操作model等文件實現(xiàn)方式,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-04-04
  • Python Django ORM與模型詳解

    Python Django ORM與模型詳解

    這篇文章主要介紹了django的ORM與模型的實現(xiàn)原理,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧v
    2021-11-11
  • 詳解python UDP 編程

    詳解python UDP 編程

    這篇文章主要介紹了python UDP 編程的相關(guān)資料,幫助大家更好的理解和學習python,感興趣的朋友可以了解下
    2020-08-08
  • python中文件變化監(jiān)控示例(watchdog)

    python中文件變化監(jiān)控示例(watchdog)

    這篇文章主要介紹了python中文件變化監(jiān)控示例(watchdog),小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-10-10

最新評論

桑日县| 台东县| 湘西| 呈贡县| 龙里县| 资源县| 保山市| 枞阳县| 玛多县| 金坛市| 三门峡市| 金平| 淮南市| 老河口市| 临泽县| 津南区| 安泽县| 临泉县| 克山县| 奈曼旗| 安丘市| 明光市| 伊吾县| 尼木县| 潞西市| 皋兰县| 兴海县| 惠水县| 兴和县| 库车县| 伽师县| 道真| 烟台市| 通州区| 清苑县| 无为县| 平凉市| 建宁县| 阿图什市| 扎鲁特旗| 台北市|