[英]How to combine a dictionary formatted excel file with dictionary in Python
解决方案1
如果您的excel文件为.xlsx格式,则可以使用openpyxl
:
import openpyxl
letter_map = {'a':1, 'b':2, 'c':3}
# open workbook
workbook = openpyxl.load_workbook('book1.xlsx')
# get worksheet by index
worksheet = workbook.worksheets[0]
result = {}
# loop over column pairs
for k, v in zip(worksheet['A'], worksheet['B']):
# assign new values to keys
result[k.internal_value] = v.internal_value + letter_map[k.internal_value]
print(result)
产量
{'a': 2, 'b': 3, 'c': 4}
解决方案2
如果您具有.xls格式的excel文件,则可以使用xlrd
:
import xlrd
letter_map = {'a':1, 'b':2, 'c':3}
# open work book
workbook = xlrd.open_workbook('book1.xls', on_demand=True)
# get sheet by index
worksheet = workbook.sheet_by_index(0)
result = {}
# loop over row indices
for row in range(worksheet.nrows):
# assign new values to keys
k, v = worksheet.cell(row, 0).value, worksheet.cell(row, 1).value
result[k] = int(v) + letter_map[k]
print(result)
产量
{'a': 2, 'b': 3, 'c': 4}
此解决方案适用于具有A and B
列A and B
csv文件
import pandas as pd
actual_dict = {'a': 1, 'b': 1, 'c': 1}
cs = pd.read_csv(r'.\dict.csv')
keys = cs.A.tolist()
vals = cs.B.tolist()
csv_dict = {k:v for k,v in zip(keys,vals)}
for k in actual_dict.keys():
actual_dict[k] += csv_dict[k] #updating the actual dict
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.