Python學習資料 Python製作天氣查詢軟體

2021-09-24 21:18:47 字數 2951 閱讀 7003

這次的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...