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

Python如何同時讀寫Excel

 更新時間:2023年08月14日 09:25:59   作者:蛇皮皮蛋  
這篇文章主要介紹了Python如何同時讀寫Excel問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教

Python同時讀寫Excel

1、需要安裝的模塊

pip install xlutils
pip install xlrd
pip install xlwt

2、樣例代碼

import xlrd
import xlwt
from xlutils.copy import copy
# zq_data = {}
# add_zq_data = {}
# with open('department_copy1.json', 'r', encoding='UTF-8')as f:
#     data = json.load(f)
#     for data in data["RECORDS"]:
#         print(data["id"], data["name"])
#         zq_data[data["name"]] = data["id"]
data = xlrd.open_workbook("test.xlsx")
newWb = copy(data)  # 復(fù)制
# 獲取工作區(qū)
newWs = newWb.get_sheet(0)
table = data.sheet_by_index(0)
for rowNum in range(table.nrows):
    rowVale = table.row_values(rowNum)
    if rowVale[12] != "":
        print(rowVale[12])
        newWs.write(rowNum, 13, "value")
newWb.save("new_test.xlsx")

3、效果

ok同時讀寫成功!

python批量讀寫excel文件

首先,導(dǎo)入openpyxl庫中的讀取和新建文件包(比較官方的名稱我沒有查,就按照好理解的方向這樣說),文中關(guān)于行和列的理解都是個人想法,可能有和讀者不同之處。

先詳細(xì)說怎么樣讀取單個excel文件,批量在后邊寫。

excel表格格式如下,需要弄清楚的就是excel文件路徑,以及內(nèi)部工作表的名稱,兩者均為字符串格式:

此處需要注意大小寫的問題,嚴(yán)格按照下邊代碼中的大小寫鍵入

os庫用于后邊批量處理

from openpyxl import load_workbook, Workbook   #讀取=加載, 新建
import os

1、讀取已存在的excel文件

path = r'E:\pythonTest\2021-12-31.xlsx'
wb = load_workbook(path)
print(wb)

運行結(jié)果:

<openpyxl.workbook.workbook.Workbook object at 0x000002444BC60FD0>

顯示一個對象的形式

根據(jù)文件格式,讀取其中工作表的內(nèi)容

sheet_005 = wb['0.05m']
print(sheet_005)
print(type(sheet_005))

運行結(jié)果:

<Worksheet "0.05m">
<class 'openpyxl.worksheet.worksheet.Worksheet'>

此時,sheet_005是一個元組對象,那么要讀取其中的數(shù)據(jù)(這里可能有其他的方式,我就直接寫自己用過的,沒有詳查)需要對里邊的數(shù)據(jù)進(jìn)行定位,我因為處理的關(guān)系,按行讀取和按列分別讀取,以及讀取二維的情況

按行讀?。?/strong>

rows = sheet_005['b1:j1']
#得到的內(nèi)容是1行9列 
for row in rows:
    for i in range(9):
        print(row[i].value)

運行結(jié)果:

45.3456
46.3456
47.3456
48.3456
49.3456
50.3456
51.3456
52.3456
53.3456

按列讀取

cols = sheet_005['a2:a10']
#得到的內(nèi)容是9行1列
for col in cols:
    print(col[0].value)

運行結(jié)果:

23.5167
24.5167
25.5167
26.5167
27.5167
28.5167
29.5167
30.5167
31.5167

讀取二維的情況:

path = r"E:\pythonTest\2021-12-31.xlsx"
wb = load_workbook(path)
sheet_005 = wb['0.05m']
data = sheet_005['b2:j10']
for d in data:
    for i in range(9):
        if d[i].value != None:
            print(d[i].value)

運行結(jié)果:

0.302119106054306
0.3005659878253937
0.2625385522842407
0.2840092778205872
0.3061999976634979
0.3017207086086273
0.3038829267024994
0.3220527768135071
0.3237947821617126
0.3207892179489136
0.3028714954853058
0.2637502551078796
0.2534836530685425
0.253666490316391
0.266710102558136
0.2634153366088867
0.2857251763343811
0.3227577209472656
0.3185969889163971
0.3055056631565094
0.2600562572479248
0.2565443217754364
0.2556202709674835
0.2537874281406403
0.2476959973573685
0.2596182227134705
0.2735748291015625
0.2842697501182556
0.2630136013031006
0.2532234787940979
0.2525502741336823
0.2542127370834351
0.2646780908107758
0.2624187767505646
0.2621198892593384
0.3370471298694611
0.3249744772911072
0.3106313049793243
0.2642513513565063
0.3019898533821106
0.2691900730133057
0.257877379655838
0.2709497213363647
0.2727532088756561
0.3150153458118439
0.3248605132102966
0.2938291728496552
0.2970251739025116
0.2867810130119324
0.3157626986503601
0.2825500667095184
0.2774896025657654
0.2862694561481476
0.2954988181591034
0.2895880043506622
0.2916149795055389
0.2997244298458099
0.299854189157486
0.3112888336181641
0.2700950503349304
0.254077821969986
0.2723859548568726
0.2887678444385529
0.2891480326652527
0.2959722280502319
0.3032049238681793
0.2998882830142975
0.2962991893291473
0.2498120218515396
0.257283478975296
0.3057393729686737
0.27692911028862
0.2761669456958771
0.2838139533996582
0.2868392765522003
0.2837753891944885
0.2908490598201752
0.2874066829681396
0.2941864132881165
0.2949732542037964

2、創(chuàng)建一個excel文件

并且將內(nèi)容寫入

new_path = r"E:\pythonTest\2022-12-08.xlsx"
new_wb = Workbook()
#新建一個sheet,title可以對sheet名稱進(jìn)行修改
new_sheet_005 = new_wb.create_sheet(title = '0.05m',index = 0)
new_sheet = new_wb.create_sheet(title='這是一個工作表', index = 1)
#可以對工作表中的內(nèi)容寫入
new_sheet_005['b3'] = '1'
#存儲
new_wb.save(new_path)

運行結(jié)果: 

3、批量對文件進(jìn)行讀取

這里就是將上文中 path 的值寫到文件夾即可,利用 os 庫中的 listdir() 函數(shù)對文件進(jìn)行遍歷,從而實現(xiàn)批量讀取:

還有要注意的地方就是在遍歷過程中,file 所代表的字符串只有文件名,但是 load_workbook() 函數(shù)要讀取的是文件完整的目錄,因此需要將 path 和 file 進(jìn)行拼接,在這里注意 // 的轉(zhuǎn)義問題。

path = r"E:\pythonTest"
for file in os.listdir(path):
    print(file)
    wb = load_workbook(path+'//'+file)  
    sheet_005 = wb['0.05m']
    print(sheet_005['b3'].value)

運行結(jié)果:

2021-12-31.xlsx
0.3207892179489136
2022-12-08.xlsx
1

批量寫入

類似的操作,但是要考慮到根據(jù)文件的內(nèi)容生成新的不同文件名,否則同名文件會覆蓋

path = r"E:\pythonTest"
for file in os.listdir(path):
    new_file_name = 'new' + file[0:10] + '.xlsx'
    new_wb = Workbook()  
    #此處index設(shè)置與前邊有所不同
    new_sheet1 = new_wb.create_sheet(title='0.05m', index = 1)
    new_sheet2 = new_wb.create_sheet(title='這是一個工作表', index = 0)
    new_sheet1['d3'].value = 45
    for i in range(1,10):
        for j in range(1,10):
            new_sheet1[i][0].value = i*j
    new_wb.save(path+'//'+new_file_name)

這里有一點我不太清楚,就是new_sheet1[i][0] 這里的0只能寫0,我不太理解這里,但是夠我用了,所以沒有深究,如果有小伙伴看到這里能給我解答的話,不勝感謝。

運行結(jié)果:

總結(jié)

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

相關(guān)文章

  • python spilt()分隔字符串的實現(xiàn)示例

    python spilt()分隔字符串的實現(xiàn)示例

    split() 方法可以實現(xiàn)將一個字符串按照指定的分隔符切分成多個子串,本文介紹了spilt的具體使用,感興趣的可以了解一下
    2021-05-05
  • 使用Python腳本來獲取Cisco設(shè)備信息的示例

    使用Python腳本來獲取Cisco設(shè)備信息的示例

    這篇文章主要介紹了編寫Python腳本來獲取Python腳本來獲取Cisco設(shè)備信息的教程,文中的示例是獲取一臺思科交換機(jī)的腳本,需要的朋友可以參考下
    2015-05-05
  • 5個Python自動化運維腳本分享

    5個Python自動化運維腳本分享

    Python 是一種流行的編程語言,具有豐富的第三方庫和強(qiáng)大的自動化能力,適用于許多不同的領(lǐng)域,許多運維工程師會使用 Python 腳本來自動化運維任務(wù),所以本文為大家整理了5個Python自動化運維腳本,有需要的可以參考下
    2023-08-08
  • Python參數(shù)類型以及常見的坑詳解

    Python參數(shù)類型以及常見的坑詳解

    這篇文章主要介紹了Python參數(shù)類型以及常見的坑詳解,由于之前遇到過幾次有關(guān)于參數(shù)類型的坑,以及經(jīng)常容易把一些參數(shù)類型搞混淆,現(xiàn)在做一下有關(guān)參數(shù)類型的總結(jié)記錄以及對之前踩坑經(jīng)歷的分析,需要的朋友可以參考下
    2019-07-07
  • python缺失值填充方法示例代碼

    python缺失值填充方法示例代碼

    常見的數(shù)據(jù)缺失填充方式分為很多種,比如刪除法、均值法、回歸法、KNN、MICE、EM等,下面這篇文章主要給大家介紹了關(guān)于python缺失值填充方法的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2022-12-12
  • python自動化測試無法啟動谷歌瀏覽器問題

    python自動化測試無法啟動谷歌瀏覽器問題

    這篇文章主要介紹了python自動化測試無法啟動谷歌瀏覽器問題,本文給大家介紹的非常詳細(xì),具有一定的參考借鑒價值,需要的朋友可以參考下
    2019-10-10
  • NumPy中數(shù)組的拼接(Concatenation)的使用

    NumPy中數(shù)組的拼接(Concatenation)的使用

    數(shù)組拼接是指將多個形狀兼容的數(shù)組,本文就來詳細(xì)的介紹一下NumPy中數(shù)組的拼接(Concatenation)的使用,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2026-04-04
  • 使用Python自動化處理Excel表格的操作方法

    使用Python自動化處理Excel表格的操作方法

    本文介紹Python操作Excel的多種方法及工具,如xlrd/xlwt/xlutils、openpyxl、xlwings和Pandas,涵蓋讀寫、交互及數(shù)據(jù)分析,并提供實際應(yīng)用場景,感興趣的朋友跟隨小編一起看看吧
    2025-08-08
  • NCCL深度學(xué)習(xí)Bootstrap網(wǎng)絡(luò)連接建立源碼解析

    NCCL深度學(xué)習(xí)Bootstrap網(wǎng)絡(luò)連接建立源碼解析

    這篇文章主要為大家介紹了NCCL深度學(xué)習(xí)Bootstrap網(wǎng)絡(luò)連接建立源碼解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-04-04
  • Python中的sort()方法使用基礎(chǔ)教程

    Python中的sort()方法使用基礎(chǔ)教程

    這篇文章主要介紹了Python中的sort()方法使用基礎(chǔ)教程,非常不錯,具有參考借鑒價值,需要的朋友可以參考下
    2017-01-01

最新評論

顺昌县| 许昌市| 武冈市| 惠水县| 会昌县| 阜康市| 施秉县| 佛学| 宜州市| 徐汇区| 宣化县| 鄂托克前旗| 太湖县| 隆尧县| 甘泉县| 怀仁县| 礼泉县| 大丰市| 红安县| 繁峙县| 汉中市| 亳州市| 疏附县| 桂阳县| 全南县| 洛阳市| 个旧市| 刚察县| 土默特左旗| 巴东县| 海门市| 尚义县| 石屏县| 武冈市| 时尚| 石屏县| 凤凰县| 库伦旗| 城步| 阳春市| 多伦县|