亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

Python文件簡(jiǎn)單操作及openpyxl操作excel文件詳解

 更新時(shí)間:2022年10月13日 10:20:02   作者:小蠻幺_kongkong  
這篇文章主要為大家詳細(xì)介紹了python對(duì)文件的簡(jiǎn)單使用及openpyxl操作excel文件的方法,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以了解一下

一、文件的操作流程

第一,建立文件對(duì)象。

第二,調(diào)用文件方法進(jìn)行操作。

第三,關(guān)閉文件。

1、打開(kāi)文件

用python內(nèi)置的open()函數(shù)打開(kāi)一個(gè)文件,創(chuàng)建一個(gè)file對(duì)象,相關(guān)的方法才可以調(diào)用它進(jìn)行讀寫(xiě)。

f = open(file_name [, access_mode])

file_name:文件名,字符串值

access_mode:打開(kāi)文件的模式,如只讀,寫(xiě)入,追加等,這個(gè)參數(shù)是非強(qiáng)制的,默認(rèn)文件訪(fǎng)問(wèn)模式為只讀r。

# 例子
f = open(r'E:\文件目錄\文件的簡(jiǎn)單操作.py')
f = open('E:\\文件目錄\\文件的簡(jiǎn)單操作.txt')
f = open('E:/文件目錄/文件的簡(jiǎn)單操作.py')

f = open('./文件目錄/' + str(file_name), 'w')
print("文件名: ", f.name)
print("是否已關(guān)閉 : ", f.closed)
print("訪(fǎng)問(wèn)模式 : ", f.mode)

文件的訪(fǎng)問(wèn)模式如下表所示,'r’讀,'w’覆蓋寫(xiě),'a’追加寫(xiě)。

模式描述
r以只讀方式打開(kāi)文件。這是默認(rèn)模式
rb以二進(jìn)制格式打開(kāi)文件用于只讀。這是默認(rèn)模式
r+打開(kāi)文件用于讀寫(xiě)
rb+以二進(jìn)制格式打開(kāi)文件用于讀寫(xiě)
w打開(kāi)文件只用于寫(xiě)入。若文件存在將其覆蓋,若不存在創(chuàng)建新文件
wb以二進(jìn)制格式打開(kāi)文件只用于寫(xiě)入。若文件存在將其覆蓋,若不存在創(chuàng)建新文件
w+打開(kāi)文件用于讀寫(xiě),若文件存在將其覆蓋,若不存在創(chuàng)建新文件
wb+以二進(jìn)制格式打開(kāi)文件用于讀寫(xiě),若文件存在將其覆蓋,若不存在創(chuàng)建新文件
a打開(kāi)文件用于追加。若文件存在新的內(nèi)容會(huì)寫(xiě)入已有內(nèi)容之后,若不存在創(chuàng)建新文件進(jìn)行寫(xiě)入
ab以二進(jìn)制格式打開(kāi)文件用于追加。若文件存在新的內(nèi)容會(huì)寫(xiě)入已有內(nèi)容之后,若不存在創(chuàng)建新文件進(jìn)行寫(xiě)入
a+打開(kāi)文件用于讀寫(xiě)。若文件存在,文件打開(kāi)時(shí)會(huì)是追加模式,若不存在創(chuàng)建新文件用于讀寫(xiě)
ab+以二進(jìn)制格式打開(kāi)文件用于追加。若文件存在,文件打開(kāi)時(shí)會(huì)是追加模式,若不存在創(chuàng)建新文件用于讀寫(xiě)

2、文件操作——讀、寫(xiě)、修改

(1)讀:read()

讀取整篇文章內(nèi)容

# 打開(kāi)一個(gè)文件
f = open("file.txt", "r",encoding='utf8')
f_read = f.read()  # 通過(guò)read()進(jìn)行讀取
print(f_read)
 
# 關(guān)閉打開(kāi)的文件
f.close()

讀取指定數(shù)量的字符

read()方法指定需要讀取的字符數(shù)量,無(wú)論一個(gè)英文字母還是一個(gè)漢字都是一個(gè)字符。

f_read = f.read(8)  # 讀取8個(gè)字符

讀取一行內(nèi)容

readline讀取一行代碼,讀取到第一個(gè)換行符就停止。

f_read = f.readline()  # 讀取一行內(nèi)容。
f_read1 = f.readline() # 再讀取一行內(nèi)容。

把內(nèi)容以列表的形式輸出

readlines會(huì)把內(nèi)容以列表的形式輸出。

f_read = f.readlines()  # 以列表的形式輸出。

(2)寫(xiě):write()

文件操作中的寫(xiě)有兩種:

w:覆蓋寫(xiě)

a:追加寫(xiě)

write()方法可將任何字符串(Python字符串也可以是二進(jìn)制數(shù)據(jù))寫(xiě)入一個(gè)打開(kāi)的文件。write()方法不會(huì)在字符串的結(jié)尾添加換行符(‘\n’)。

覆蓋寫(xiě)(w)

對(duì)文件的內(nèi)容進(jìn)行覆蓋寫(xiě)入

# 打開(kāi)一個(gè)文件
f = open('file.txt','w',encoding='utf8')
f_w = f.write('hello world')
print(f_w)  # 輸出寫(xiě)入多少字符
 
# 關(guān)閉打開(kāi)的文件
f.close()

追加寫(xiě)(a)

在文件末尾進(jìn)行文件的追加寫(xiě)入

# 打開(kāi)一個(gè)文件
f = open('file.txt','a',encoding='utf8')
f_w = f.write('python pandas request')
print(f_w)  # 輸出寫(xiě)入多少字符
 
# 關(guān)閉打開(kāi)的文件
f.close()

寫(xiě)入可迭代對(duì)象(字符串、列表、元祖、字典)

seq = ["文件操作教程 1\n", "文件操作教程 2"]
f.writelines(seq)

(3)修改:replace()

f1 = open('file.txt','r',encoding='utf8')   # 原文件
f2 = open('file2.txt','w',encoding='utf8')  # 新文件
for line in f1: 
    if "hello" in line:
        line = line.replace("hello","hi python")
    f2.write(line)
 
# 關(guān)閉文件
f1.close()
f2.close()

with語(yǔ)句

當(dāng)with代碼塊執(zhí)行完畢時(shí),會(huì)自動(dòng)關(guān)閉文件釋放內(nèi)存資源,不用特意加f.close(),而且可以同時(shí)對(duì)多個(gè)文件同時(shí)操作。

用with語(yǔ)句重寫(xiě)修改文件中的代碼:

with open('file.txt','r',encoding='utf8') as f1,open('file2.txt','w',encoding='utf8') as f2:
    for line in f1:  
        if "hello" in line:
            line = line.replace("hello","hi python")
        f2.write(line)

3、關(guān)閉文件

file對(duì)象的 close()方法刷新緩沖區(qū)里任何還沒(méi)寫(xiě)入的信息,并關(guān)閉文件,這之后便不能再進(jìn)行寫(xiě)入。

# 打開(kāi)一個(gè)文件
f = open("file.txt", "w")
 
# 關(guān)閉打開(kāi)的文件
f.close()

二、openpyxl操作excel文件

在openpyxl里面,一個(gè)Excel文件對(duì)應(yīng)著一個(gè)Workbook對(duì)象, 一個(gè)Sheet對(duì)應(yīng)著一個(gè)Worksheet對(duì)象,而一個(gè)單元格對(duì)應(yīng)著一個(gè)Cell對(duì)象。Workbook()創(chuàng)建空白excel,load_workbook(file_name)加載已存在的excel,save()保存Workbook對(duì)象。

1、導(dǎo)入模塊

import openpyxl

2、創(chuàng)建文件

# 創(chuàng)建空白excel
wb = openpyxl.Workbook()

3、打開(kāi)已有excel文件

# 打開(kāi)已有的xxx.xlsx文件
wb = openpyxl.load_workbook('./文件目錄/' + str(file_name))

4、創(chuàng)建表

sheet0 = wb.create_sheet(title='表1', index=0)
sheet1 = wb.create_sheet(title='表2', index=1)
sheet2 = wb.create_sheet(title='表3', index=2)
sheet3 = wb.create_sheet(title='表4', index=3)

5、操作單元格

# 通過(guò)單元格名稱(chēng)設(shè)置,指定單元格的值
sheet0["A1"]='當(dāng)前時(shí)間'
sheet0["B1"]="數(shù)據(jù)類(lèi)型"

# 通過(guò)行列坐標(biāo)設(shè)置,指定單元格的值
d = sheet0.cell(row=1, column=1, value='當(dāng)前時(shí)間')

# 設(shè)置單元格寬度
sheet0.column_dimensions['A'].width = 30.0
sheet0.column_dimensions['B'].width = 30.0

6、設(shè)置整行數(shù)據(jù)

time = datetime.datetime.now().strftime('%F %T')    # '2022-10-12 20:05:23'
#time1 = time.strftime('%a %b %d %H:%M:%S %p %Y', time.localtime(time.time()))  # (星期 月 日 時(shí):分:秒 上午/下午 年)'Wed Sep 07 17:43:25 PM 2022'
#time = datetime.datetime.now().strftime('%F %T').split(':')    # ['2022-09-07 17', '42', '56']
#time_str = time[0] + '-' + time[1] + '-' + time[2]     # '2022-09-07 17-42-56'
sheet0.append([time, 'int'])

7、保存文件

wb.save('./文件目錄/' + str(file_name))

到此這篇關(guān)于Python文件簡(jiǎn)單操作及openpyxl操作excel文件詳解的文章就介紹到這了,更多相關(guān)Python文件操作內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Python基于BeautifulSoup和requests實(shí)現(xiàn)的爬蟲(chóng)功能示例

    Python基于BeautifulSoup和requests實(shí)現(xiàn)的爬蟲(chóng)功能示例

    這篇文章主要介紹了Python基于BeautifulSoup和requests實(shí)現(xiàn)的爬蟲(chóng)功能,結(jié)合實(shí)例形式分析了Python使用BeautifulSoup和requests庫(kù)爬取網(wǎng)站指定信息的相關(guān)操作技巧,需要的朋友可以參考下
    2019-08-08
  • Django自動(dòng)注冊(cè)tasks及使用方式

    Django自動(dòng)注冊(cè)tasks及使用方式

    這篇文章主要為大家介紹了Django自動(dòng)注冊(cè)tasks及使用方式詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-06-06
  • Python使用BeautifulSoup4修改網(wǎng)頁(yè)內(nèi)容的實(shí)戰(zhàn)記錄

    Python使用BeautifulSoup4修改網(wǎng)頁(yè)內(nèi)容的實(shí)戰(zhàn)記錄

    BeautifulSoup除了可以查找和定位網(wǎng)頁(yè)內(nèi)容,還可以修改網(wǎng)頁(yè),下面這篇文章主要給大家介紹了關(guān)于Python使用BeautifulSoup4修改網(wǎng)頁(yè)內(nèi)容的相關(guān)資料,需要的朋友可以參考下
    2022-05-05
  • Python enumerate函數(shù)功能與用法示例

    Python enumerate函數(shù)功能與用法示例

    這篇文章主要介紹了Python enumerate函數(shù)功能與用法,結(jié)合實(shí)例形式分析了enumerate函數(shù)針對(duì)列表、字符串遍歷操作相關(guān)使用技巧,需要的朋友可以參考下
    2019-03-03
  • python實(shí)現(xiàn)煙花小程序

    python實(shí)現(xiàn)煙花小程序

    這篇文章主要為大家詳細(xì)介紹了python實(shí)現(xiàn)煙花小程序,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2019-01-01
  • python實(shí)現(xiàn)發(fā)送form-data數(shù)據(jù)的方法詳解

    python實(shí)現(xiàn)發(fā)送form-data數(shù)據(jù)的方法詳解

    這篇文章主要介紹了python實(shí)現(xiàn)發(fā)送form-data數(shù)據(jù)的方法,結(jié)合實(shí)例形式分析了Python發(fā)送form-data數(shù)據(jù)的相關(guān)操作步驟、實(shí)現(xiàn)方法與注意事項(xiàng),需要的朋友可以參考下
    2019-09-09
  • python導(dǎo)入時(shí)小括號(hào)大作用

    python導(dǎo)入時(shí)小括號(hào)大作用

    這篇文章主要介紹了python導(dǎo)入時(shí)小括號(hào)的大作用,非常的簡(jiǎn)單實(shí)用,希望這個(gè)小技巧能夠幫到大家
    2017-01-01
  • 使用python進(jìn)行廣告點(diǎn)擊率的預(yù)測(cè)的實(shí)現(xiàn)

    使用python進(jìn)行廣告點(diǎn)擊率的預(yù)測(cè)的實(shí)現(xiàn)

    這篇文章主要介紹了使用python進(jìn)行廣告點(diǎn)擊率的預(yù)測(cè)的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-07-07
  • python判斷變量是否為列表的方法

    python判斷變量是否為列表的方法

    在本篇文章里小編給大家整理了關(guān)于python判斷變量是否為列表的方法,有需要的朋友們可以學(xué)習(xí)下。
    2020-09-09
  • Python map及filter函數(shù)使用方法解析

    Python map及filter函數(shù)使用方法解析

    這篇文章主要介紹了Python map及filter函數(shù)使用方法解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-08-08

最新評(píng)論