データをExcelファイルからPython辞書に変換しようとしています。私のExcelファイルには2つの列と多数の行があります。データをExcelファイルからPython辞書に変換する
Name Age
Steve 11
Mike 10
John 11
これをキーとしてAgeを、値として辞書に追加するにはどうすればよいですか?また、多くの名前が同じ年齢である場合、それらはすべて配列内にある必要があります。たとえば:
{'11':['Steve','John'],'10':['Mike']}
私がこれまで書いてきた何:
import xlsxwriter
import openpyxl
wb = openpyxl.load_workbook('demo.xlsx')
sheet = wb.get_sheet_by_name('Sheet1')
#print sheet.cell(row=2, column=2).value
age_and_names = {}
for i in range(1,11):
age = sheet.cell(row=i, column=2).value
name = sheet.cell(row=i, column=1).value
#Problem seems to be in this general area
if not age in age_and_names:
age_and_names[age]=[]
age_and_names[age].append(name)
print age_and_names
は私が所望の出力のために何をしたでしょうか?私は非常にPythonに新しいです。すべての助けに感謝します。ありがとうございました。
このコードは機能しますが、キーと値の周囲に奇妙な文字があります。 '{1L:[u'dmvyc]]、4L:[u'aorbe '、u'ebphb'、u'nprrj ']、 5L:[u'fgyfg ']、6L:[u'ralno']、7L:[u'zaysd '、u'wmklg'、u'gsdhy '、u'cqiki']} ' –
これはdictの表現です、あなたはそれを取得しない各要素を印刷する場合は心配しないでください。 (uはユニコード用、Lは長整数用) –
'print age_and_names [6]'を印刷しても、いいえ '[u'ralno'] ' –