主要內容
_創建json檔案
_網頁資料擷取與分析 202 美元收盤匯率
_pandas iloc與loc方法
1.創建json檔案
[ ]是串列型態資料
{ }是字典型態資料
範例建立的資料是一個字典型態資料,裡面有個key值為people,value為串列型態資料
而串列內存放的又是字典型態資料
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 |
#104JSON檔案輸出處理 #建立以下資料並將其輸出為json檔案 # { # 'people' : # [{ # 'id': '1', # 'name': 'Peter', # 'country': 'Taiwan' # }, # { # 'id': '2', # 'name': 'Jack', # 'country': 'USA' # }, # { # 'id': '3', # 'name': 'Cindy', # 'country': 'Japan' # }] # } import json #宣告為字典 data = {} #字典內宣告key值為people的元素 型態為串列 data["peole"] = [] #print(data) data["peole"].append({'id': '1', 'name': 'Peter','country': 'Taiwan'}) data["peole"].append({'id': '2', 'name': 'Jack','country': 'USA'}) data["peole"].append({'id': '3', 'name': 'Cindy','country': 'Japan'}) print(data) f = open("1004-2.json",mode="w",encoding="utf-8") json.dump(data,f) #寫出json檔案 f.close() |
也可以直接依照格式宣告資料內容
#字典內宣告key值為people的元素 型態為串列 data["peole"] = [{'id': '1', 'name': 'Peter', 'country': 'Taiwan'}, {'id': '2','name': 'Jack','country': 'USA'},{'id': '3','name': 'Cindy','country': 'Japan'}]
2.網頁資料擷取與分析 202 美元收盤匯率
需要留意的是讀取本機檔案的方式 f.read( )
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 |
#網頁資料擷取與分析 202 美元收盤匯率 from bs4 import BeautifulSoup f=open("read.html","r",encoding="utf-8") # print(f.read()) sp=BeautifulSoup(f.read(), "html.parser") sp1=sp.find("table","DataTable2") sp2=sp1.find_all("tr") #print(sp2[0].text) # sp3 = sp2[0].text.strip().split("\n") # print(sp3) s="" for i in range(0,len(sp2)): sp3 = sp2[i].text.strip().split("\n") #print(sp3) date = sp3[0] price = sp3[1] s += "{},{}\n".format(date,price) print(s) f = open("1004-3.csv", mode="w", encoding="utf-8") f.write(s) f.close() |
3.pandas iloc與loc方法
iloc跟loc最大的差異是
iloc是用列數與欄位數來定位
loc是用列名與欄位名來定位
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 |
#301學生成績 import pandas as pd f=open("read301.csv","r") list1=f.readlines() columns=list1[0].strip("\n").split(",")[1:6] datas =[] indexs =[] for i in range(1,len(list1)): list2=list1[i].split(",") indexs.append(list2[0]) list2[5]=list2[5].strip("\n") datas.append(list2[1:6]) # print(columns) # print(indexs) # print(datas) df = pd.DataFrame(datas, columns=columns, index=indexs) print(df) # 輸出後二位學生的所有成績 print('後二位的成績') #print(df.tail(2)) print(df.iloc[2:4]) #取小黃 國語 社會成績 print("小黃 國語 社會成績") print(df.iloc[1:2,[0,4]]) #取小黃 小美 國語 社會成績 print("小黃 小美 國語 社會成績") print(df.iloc[[1,3],[0,4]]) |