這次的python學習資料跟大家分享如何用python做乙個天氣查詢軟體,隨時隨地查天氣!
開發環境
準備工作
import pandas as pd
file = pd.read_csv('city_code.csv')
# 選取需要的兩列資訊
file = file.loc[:,['city_id', 'city_cn']]
# 讀取前五行資訊
# 匹配 city_id 中的數字
def convert(x):
pat = re.compile('(d+)')
return pat.search(x).group()
file['city_id_map'] = file['city_id'].map(convert)
# 建立城市與**之間的對映關係
def city2id(file):
code_dict = {}
key = 'city_cn'
value = 'city_id_map'
for k, v in zip(file[key], file[value]):
code_dict[k] = v
return code_dict
code_dict = city2id(file)
# 將所得的字典資料儲存為 txt 檔案
import json
filename = 'city_code.txt'
with open(filename, 'w') as f:
json.dump(code_dict, f)
將字典儲存為 txt 檔案後,以後我們只需讀取檔案,再獲取字典:
with open(filename, 'r') as f:
text = json.load(f)
如果不想費工夫處理這些資料,可以直接使用文末提供的 city_code.txt 檔案。
ui 設計
使用 qt designer,我們不難設計出以下介面:
如果不想設計這些介面,可以直接匯入文末提供的 ui_weather.py 檔案。
主體邏輯:
我們這次使用的 api 介面為:『 就是之前處理過的城市**,比如常州的城市**為:101191101。替換掉變數 code ,傳送請求,**返回給我們一段 json 格式的檔案:
根據這段 json 語句,我們很容易提取需要的資訊:
# 天氣情況
data = info_json['data']
city = f"城市:
"today = data['forecast'][0]
date = f"日期:
"now = f"實時溫度:度
"temperature = f"溫度:
"fengxiang = f"風向:
"type = f"天氣:
"tips = f"貼士:
"
當然,我們首先要使用 requests.get 方法,來獲取這段 json **。
def query_weather(code):
# 模板網頁
html = f'
/weather_mini?citykey='
# 向網頁發起請求
try:
info = requests.get(html)
info.encoding = 'utf-8'
# 捕獲 connectinerror 異常
except requests.connectionerror:
raise
# 將獲取的資料轉換為 json 格式
try:
info_json = info.json()
# 轉換失敗提示無法查詢
except jsondecodeerror:
return '無法查詢'
# 將 textedit 設定為唯讀模式
self.textedit.setreadonly(true)
# 將滑鼠焦點放在 lineedit 編輯欄裡
self.lineedit.setfocus()
# 獲取 lineedit 中的文字
city = self.lineedit.text()
# 設定文字
self.textedit.settext(info)
# 清空文字
self.lineedit.clear()
為查詢按鈕設定快捷鍵:
def keypressevent(self, e):
# 設定快捷鍵
if e.key() == qt.key_return:
self.queryweather()
最後,我們可以使用 pyinstaller -w weather.py 打包應用程式,但是要記得打包完,將 city_code.txt 複製到 dist/weather 資料夾下,否則程式無法執行。 Python學習筆記 1 1 2 認識Python
一.課程目標 二.詳情解讀 1.初識pythonpython語言是一種高階程式語言,它於1991年由吉多.範羅蘇姆 guido van rossum 發明。目前主要應用於web開發 gui開發 網路爬蟲 資料科學 人工智慧等領域。python官方 python語言也是一種多正規化程式語言,即物件導向...
python學習方法 十二種學習Python的方法
python學習方法 python是地球上最流行的程式語言之一。它被世界各地的開發商和製造商所接受。大多數linux和macos計算機都預裝了python版本,現在,即使是少數windows計算機 商也正在安裝python。也許您參加聚會遲到了,您想學習但不知道該去 這12個資源將幫助您入門,並逐步...
pytho學習旅途
轉換當前格式日期 dt datetime.datetime.strptime dtstr,y m d print dt 切片獲取年份 輸入一行字元,分別統計其中英文本母,空格,數,和其他字元數 import string s ww m 23 4j 初始化個數 列印楊輝三角的前十行 triange 1...