from collections import defaultdict
import matplotlib.pyplot as plt
import csv, sys, datetime
csvFile = open('D:\Jupyternotebook\P00000001-ALL.csv','r',encoding='utf-8')#使用open函式打開檔案 并賦給csvFile
reader = csv.DictReader(csvFile) #將csvFile以字典形式讀取,賦給reader
obamadonations = defaultdict(lambda:0) #對obamadonations進行默認字典的初始化
for row in reader: #for回圈遍歷reader,
name = row['cand_nm']
datestr = row['contb_receipt_dt']
amount = float(row['contb_receipt_amt'])
date = datetime.datetime.strptime(datestr, '%d-%b-%y')#把datestr中的資料安裝'%d-%b-%y'的日期格式
if 'Obama' in name: #if陳述句,判斷Obama的捐款
obamadonations[date] += amount #把Obama的捐款資料加 obamadonations[date]賦值給 obamadonations[date]
sorted_by_date = sorted(obamadonations.items(), key=lambda item:item[0])#使用sorted函式對obamadonations.items()進行排序,
# items,是將obamadonations以串列形式回傳
x1,y1 = zip(*sorted_by_date) #zip函式,使用zip(*)來拆解sorted_by_date1串列
plt.plot(x1, y1, label='Obama') #用plot函式根據x1和y1生成圖,并標簽為‘Obama’
plt.legend(loc='upper center', ncol = 4) #用legend函式規定生成圖例在整個圖中的位置,和列數
#plt.savefig('/tmp/test.png', format='png') #在控制臺顯示
plt.show()
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/73647.html
上一篇:R
