[英]python creating dictionary from excel
我有一個 2 列的 excel 表。 第 1 列是姓名,第 2 列是年齡。 我想創建一個字典,其中名稱是鍵,年齡是值。 這是代碼,但它錯誤地創建了字典。
keyValues = [x.value for x in worksheet.col(0)]
data = dict((x, []) for x in keyValues)
while curr_row < num_rows:
curr_row += 1
for row_index in range(1, worksheet.nrows): data[keyValues[row_index]].append(worksheet.cell_value(curr_row, 1))
我想要一個像下面這樣來自 2 列 excel 表的字典。
{'Ann': 12, 'Maria': 3, 'Robin': 4, 'NameN':N}
對熊貓來說這很簡單:
import pandas as pd
my_dic = pd.read_excel('names.xlsx', index_col=0).to_dict()
my_dic 現在是:
{'羅賓':4,'瑪麗亞':3,'安':12}
index_col=0
如果 'name' 在你的 excel 文件的第一列
如果您的列不包含姓名和年齡以外的任何數據,並且您對數據質量非常有信心(年齡應該是非數字數據等),那么您可以這樣做:
names = (name.value for name in worksheet.col(0))
ages = (int(age.value) for age in worksheet.col(1))
data = dict(zip(names, ages))
如果你想保證訂單,你可以使用一個collections.OrderedDict
為對象data
,而不是香草字典。
如果您需要處理錯誤數據(即有人在工作表中輸入字符串而不是整數年齡),您可能需要提出names
和ages
生成器對象的自定義實現(上述假設一帆風順)。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.