一 讀取excel內(nèi)容、并放入字典
1 讀取excel文件
import pandas as pd
file_path = '/cluster/home3/zjc/Code/COD/BGNet_My/Dy_BGNet_master/openpyxl-light.xlsx' 讀取excel
raw_data = pd.read_excel(file_path, header=0) # header=0表示第一行是表頭,就自動(dòng)去除了
print(raw_data) # 讀取到的結(jié)果如下
'''
讀取excel
(Pdb) raw_data
num name wfm
0 0 COD10K-CAM-1-Aquatic-1-BatFish-2.png 0.899108
1 1 COD10K-CAM-1-Aquatic-1-BatFish-4.png 0.885333
2 2 COD10K-CAM-1-Aquatic-1-BatFish-5.png 0.899334
3 3 COD10K-CAM-1-Aquatic-1-BatFish-6.png 0.503472
4 4 COD10K-CAM-1-Aquatic-10-LeafySeaDragon-416.png 0.422056
... ... ... ...
2021 2021 COD10K-CAM-5-Other-69-Other-5051.png 0.973371
2022 2022 COD10K-CAM-5-Other-69-Other-5059.png 0.745310
2023 2023 COD10K-CAM-5-Other-69-Other-5060.png 0.000198
2024 2024 COD10K-CAM-5-Other-69-Other-5062.png 0.835672
2025 2025 COD10K-CAM-5-Other-69-Other-5063.png 0.982474
'''
2 讀取value,舍棄行號(hào)
data = raw_data.values # 獲取其中內(nèi)容(num、name、wfm)(舍棄行號(hào))
print(data)
'''
僅展示value,舍棄行號(hào)
array([[0, 'COD10K-CAM-1-Aquatic-1-BatFish-2.png', 0.8991082232693329],
[1, 'COD10K-CAM-1-Aquatic-1-BatFish-4.png', 0.8853328644290668],
[2, 'COD10K-CAM-1-Aquatic-1-BatFish-5.png', 0.8993339821090026],
...,
[2023, 'COD10K-CAM-5-Other-69-Other-5060.png',
0.0001984435470317607],
[2024, 'COD10K-CAM-5-Other-69-Other-5062.png', 0.8356721476832216],
[2025, 'COD10K-CAM-5-Other-69-Other-5063.png', 0.9824740778028651]],
dtype=object)
'''
3 讀取為字典
dict = {}
for i in range(len(data)):
dict[data[i][1]] = data[i][2]
print(dict)
'''
將下面數(shù)據(jù)放入字典
data[0][1] -> 'COD10K-CAM-1-Aquatic-1-BatFish-2.png'
data[0][2] -> 0.8991082232693329
字典為
dict['COD10K-CAM-1-Aquatic-1-BatFish-2.png']
-> 0.8991082232693329
'''
一 讀取excel內(nèi)容、并放入字典(完整代碼)
import pandas as pd
file_path = '/cluster/home3/zjc/Code/COD/BGNet_My/Dy_BGNet_master/openpyxl-light.xlsx'
# r對(duì)路徑進(jìn)行轉(zhuǎn)義,windows需要
raw_data = pd.read_excel(file_path, header=0) # header=0表示第一行是表頭,就自動(dòng)去除了
print(raw_data)
'''
讀取excel
(Pdb) raw_data
num name wfm
0 0 COD10K-CAM-1-Aquatic-1-BatFish-2.png 0.899108
1 1 COD10K-CAM-1-Aquatic-1-BatFish-4.png 0.885333
2 2 COD10K-CAM-1-Aquatic-1-BatFish-5.png 0.899334
3 3 COD10K-CAM-1-Aquatic-1-BatFish-6.png 0.503472
4 4 COD10K-CAM-1-Aquatic-10-LeafySeaDragon-416.png 0.422056
... ... ... ...
2021 2021 COD10K-CAM-5-Other-69-Other-5051.png 0.973371
2022 2022 COD10K-CAM-5-Other-69-Other-5059.png 0.745310
2023 2023 COD10K-CAM-5-Other-69-Other-5060.png 0.000198
2024 2024 COD10K-CAM-5-Other-69-Other-5062.png 0.835672
2025 2025 COD10K-CAM-5-Other-69-Other-5063.png 0.982474
'''
data = raw_data.values
print(data)
'''
僅展示value,舍棄行號(hào)
array([[0, 'COD10K-CAM-1-Aquatic-1-BatFish-2.png', 0.8991082232693329],
[1, 'COD10K-CAM-1-Aquatic-1-BatFish-4.png', 0.8853328644290668],
[2, 'COD10K-CAM-1-Aquatic-1-BatFish-5.png', 0.8993339821090026],
...,
[2023, 'COD10K-CAM-5-Other-69-Other-5060.png',
0.0001984435470317607],
[2024, 'COD10K-CAM-5-Other-69-Other-5062.png', 0.8356721476832216],
[2025, 'COD10K-CAM-5-Other-69-Other-5063.png', 0.9824740778028651]],
dtype=object)
'''
dict = {}
for i in range(len(data)):
dict[data[i][1]] = data[i][2]
print(dict)
'''
將下面數(shù)據(jù)放入字典
data[0][1] -> 'COD10K-CAM-1-Aquatic-1-BatFish-2.png'
data[0][2] -> 0.8991082232693329
字典為
dict['COD10K-CAM-1-Aquatic-1-BatFish-2.png']
-> 0.8991082232693329
'''
import pdb
pdb.set_trace()
二、將字典內(nèi)容寫(xiě)入 excel文件
1
假設(shè)已有字典內(nèi)容為:
即student列表里有4個(gè)字典,
第一個(gè)字典里面有3對(duì)key-value
"num": 1,
"name": "cod1",
"wfm": 0.1
student = [
{"num": 1, "name": "cod1", "wfm": 0.1},
{"num": 2, "name": "cod2", "wfm": 0.2},
{"num": 3, "name": "cod3", "wfm": 0.3},
{"num": 4, "name": "cod4", "wfm": 0.4},
]
2 導(dǎo)入Workbook并實(shí)力化
from openpyxl import Workbook
workbook = Workbook()
3 激活sheet-設(shè)置sheet名-插入標(biāo)題-文章來(lái)源:http://www.zghlxwxcb.cn/news/detail-760369.html
# 默認(rèn)sheet
sheet = workbook.active # 激活sheet
sheet.title = "openpyxl" # 設(shè)置sheet名字
sheet.append(["num", "name", "wfm"]) # 插入標(biāo)題
for data in student: # 列表循環(huán)讀取dict
sheet.append(list(data.values()))
workbook.save("openpyxl.xlsx")
二、將字典內(nèi)容寫(xiě)入 excel文件(完整代碼)文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-760369.html
student = [
{"num": 1, "name": "cod1", "wfm": 0.1},
{"num": 2, "name": "cod2", "wfm": 0.2},
{"num": 3, "name": "cod3", "wfm": 0.3},
{"num": 4, "name": "cod4", "wfm": 0.4},
]
import pdb
pdb.set_trace()
from openpyxl import Workbook
workbook = Workbook()
# 默認(rèn)sheet
sheet = workbook.active # 激活sheet
sheet.title = "openpyxl" # 設(shè)置sheet名字
sheet.append(["num", "name", "wfm"]) # 插入標(biāo)題
for data in student: # 列表循環(huán)讀取dict
sheet.append(list(data.values()))
workbook.save("openpyxl.xlsx")
到了這里,關(guān)于[excel與dict] python 讀取excel內(nèi)容并放入字典、將字典內(nèi)容寫(xiě)入 excel文件的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!