欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

python openpyxl打開文件關(guān)閉問題

 更新時間:2023年05月30日 14:45:30   作者:sxn777  
這篇文章主要介紹了python openpyxl打開文件關(guān)閉問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教

openpyxl打開的文件是否需要關(guān)閉

如果是只讀或者只寫的模式下,是需要再調(diào)用close()方法關(guān)閉workbook,正常的情況下是不需要調(diào)用的。

只讀只寫的模式是read_only或者data_only設(shè)置為True

如果調(diào)用了save()也不用調(diào)用close(),save()源碼中有關(guān)閉的操作

python文件操作--openpyxl

1.獲得一個workbook對象

workbook=openpyxl.load_workbook(filename)

2.獲取sheet列表

sheet_list=workbook.sheetnames

3.獲取sheet對象

使用了@deprecated裝飾器,所以可以使用[]語法

sheet=workbook[sheet_name]

4.獲取最大行

sheet.max_row

5.獲取最大列

sheet.max_column

6.獲取單元格對象

sheet.cell(x,y)

7.獲取單元格內(nèi)的值

cell.value

8.返回所有行

sheet.rows: 返回一個生成器對象

9.返回所有列

sheet.columns:返回一個生成器對象

10.關(guān)閉文件

work.close()

11.寫入內(nèi)容

cell(x,y,value)
import openpyxl
from shutil import copyfile
class ReadXsl:
    def __init__(self):
        self.workbook = None
        self.sheet_list = None
        self.sheet = None
        self.max_row = 0
        self.max_col = 0
    # 打開文件
    def open_file(self, file_name):
        self.workbook = openpyxl.load_workbook(filename=file_name)
        self.sheet_list = self.workbook.sheetnames
        self.sheet = self.workbook[self.sheet_list[0]]
        self.max_row = self.sheet.max_row
        self.max_col = self.sheet.max_column
    # 設(shè)置當(dāng)前sheet
    def set_sheet(self, sheet_name):
        self.sheet = self.workbook[sheet_name]
        # 更新max_row與max_col
        self.max_row = self.sheet.max_row
        self.max_col = self.sheet.max_column
    def read_lines(self):
        all_list = []
        for row in self.sheet.rows:
            line_list = []
            for cell in row:
                line_list.append(cell.value)
            all_list.append(line_list)
        return all_list
    def read_dict(self) -> list:
        all_list = []
        title_list = []
        # 將title添加到一個list中
        for row in list(self.sheet.rows)[0]:
            title_list.append(row.value)
        # 遍歷內(nèi)容
        for rows in list(self.sheet.rows)[1:]:
            content_list = []
            for cell in rows:
                content_list.append(cell)
            all_list.append(dict(zip(title_list, content_list)))
        return all_list
class WriteXsl(object):
    def __init__(self):
        self.workbook = None
        self.file = None
        self.sheet = None
    # 復(fù)制文件
    def copy_file(self, src_file, new_file):
        copyfile(src_file, new_file)
        self.file = new_file
        self.workbook = openpyxl.load_workbook(new_file)
    # 設(shè)置當(dāng)前工作sheet
    def set_sheet(self, sheet_name):
        self.sheet = self.workbook[sheet_name]
    # 寫入內(nèi)容
    def write(self, row, col, value):
        self.sheet.cell(row, col, value)
    # 關(guān)閉文件
    def close(self):
        self.workbook.close()
if __name__ == '__main__':
    file_name = r'D:\test_data.xlsx'
    new_file_name = r'D:\test_data.xlsx'
    r = ReadXsl()
    w = WriteXsl()
    r.open_file(file_name=file_name)
    w.copy_file(file_name, new_file_name)
    for sheet in r.sheet_list:
        r.set_sheet(sheet)
        w.set_sheet(sheet)
        for col in range(1, r.max_col):
            w.write(col + 1, 8, 'pass')
    w.close()
    print("文件寫入完成!")

總結(jié)

以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • 解決PDF 轉(zhuǎn)圖片時丟文字的一種可能方式

    解決PDF 轉(zhuǎn)圖片時丟文字的一種可能方式

    這篇文章主要介紹了解決PDF 轉(zhuǎn)圖片時丟字的一種可能方式,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2021-03-03
  • Python 多繼承中的一個詭異現(xiàn)象 既是 Father又是grandfather

    Python 多繼承中的一個詭異現(xiàn)象 既是 Father又是grandfather

    我們知道,在面向?qū)ο缶幊汤锩?,繼承是一個很重要的概念。子類可以使用父類的方法和屬性,接下來小編將用舉例的方式為大家講解Python 多繼承中的一個詭異現(xiàn)象 其即是爸爸又是爺爺?shù)钠孑猬F(xiàn)象,感興趣的小伙伴可以看下面文章具體了解
    2021-09-09
  • python獲取本機所有IP地址的方法

    python獲取本機所有IP地址的方法

    這篇文章主要為大家詳細介紹了python獲取本機所有IP地址的方法,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-12-12
  • 在python中使用xlrd獲取合并單元格的方法

    在python中使用xlrd獲取合并單元格的方法

    今天小編就為大家分享一篇在python中使用xlrd獲取合并單元格的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-12-12
  • Python GUI教程之在PyQt5中使用數(shù)據(jù)庫的方法

    Python GUI教程之在PyQt5中使用數(shù)據(jù)庫的方法

    Qt平臺對SQL編程有著良好的支持,PyQt5也一并繼承了過來,這篇文章主要介紹了Python GUI教程之在PyQt5中使用數(shù)據(jù)庫的方法,需要的朋友可以參考下
    2021-09-09
  • Python安裝官方whl包和tar.gz包的方法(推薦)

    Python安裝官方whl包和tar.gz包的方法(推薦)

    下面小編就為大家?guī)硪黄狿ython安裝官方whl包和tar.gz包的方法(推薦)。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-06-06
  • python3個性簽名設(shè)計實現(xiàn)代碼

    python3個性簽名設(shè)計實現(xiàn)代碼

    這篇文章主要為大家詳細介紹了python3個性簽名設(shè)計的實現(xiàn)代碼,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-06-06
  • 為了順利買到演唱會的票用Python制作了自動搶票的腳本

    為了順利買到演唱會的票用Python制作了自動搶票的腳本

    大麥網(wǎng),是中國綜合類現(xiàn)場娛樂票務(wù)營銷平臺,業(yè)務(wù)覆蓋演唱會、 話劇、音樂劇、體育賽事等領(lǐng)域。但是因為票數(shù)有限,還有黃牛們不能丟了飯碗,所以導(dǎo)致了,很多人都搶不到票,那么,今天帶大家用Python來制作一個自動搶票的腳本小程序
    2021-10-10
  • 使用numpngw和matplotlib生成png動畫的示例代碼

    使用numpngw和matplotlib生成png動畫的示例代碼

    這篇文章主要介紹了使用numpngw和matplotlib生成png動畫的示例代碼,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-01-01
  • Python使用Selenium批量自動化獲取并下載圖片的方法

    Python使用Selenium批量自動化獲取并下載圖片的方法

    在現(xiàn)代的Web開發(fā)中,自動化測試和數(shù)據(jù)抓取已經(jīng)成為不可或缺的一部分,Selenium作為一款強大的自動化測試工具,可以用于批量獲取網(wǎng)頁上的圖片,所以本文給大家介紹了Python如何使用Selenium批量自動化獲取并下載圖片的方法
    2024-11-11

最新評論