要实现将这些数据下载并存储到Excel文件中,你可以使用PySide6来创建一个界面,提供一个按钮供用户点击,然后使用requests库发送HTTP请求,解析网页内容,并将数据保存到Excel文件中。以下是一个示例代码,演示了如何使用PySide6实现这个功能:
import sys
from PySide6.QtWidgets import QApplication, QMainWindow, QPushButton, QTextBrowser
import requests
import re
import xlwt
class MainWindow(QMainWindow):
def __init__(self, parent=None):
super().__init__(parent)
self.setWindowTitle("区划代码下载")
self.button = QPushButton(self)
self.button.setText("下载")
self.button.clicked.connect(self.downloadData)
self.button.move(50, 50)
self.textBrowser = QTextBrowser(self)
self.textBrowser.setGeometry(50, 100, 600, 400)
def downloadData(self):
urls = [
"https://www.stats.gov.cn/sj/tjbz/tjyqhdmhcxhfdm/2023/11.html",
"https://www.stats.gov.cn/sj/tjbz/tjyqhdmhcxhfdm/2023/12.html",
"https://www.stats.gov.cn/sj/tjbz/tjyqhdmhcxhfdm/2023/65.html"
]
data = []
for url in urls:
response = requests.get(url)
response.encoding = response.apparent_encoding
html = response.text
code = re.findall("统计用区划代码\s*(\d+)", html)[0]
classification = re.findall("城乡分类代码\s*(\d+)", html)[0]
name = re.findall("名称\s*([\u4e00-\u9fa5]+)", html)[0]
data.append([code, classification, name])
workbook = xlwt.Workbook()
sheet = workbook.add_sheet("区划代码")
sheet.write(0, 0, "统计用区划代码")
sheet.write(0, 1, "城乡分类代码")
sheet.write(0, 2, "名称")
for i, row in enumerate(data):
for j, cell in enumerate(row):
sheet.write(i+1, j, cell)
workbook.save("E:/Temp/区划代码.xls")
self.textBrowser.setText("区划代码下载完成!")
if __name__ == "__main__":
app = QApplication(sys.argv)
window = MainWindow()
window.show()
sys.exit(app.exec())
在这个示例中,我们创建了一个主窗口,并添加了一个按钮和一个文本浏览器用于显示下载结果。当用户点击按钮时,会触发`downloadData`方法。在该方法中,我们定义了需要下载的网址列表,并遍历每个网址。对于每个网址,我们使用requests库发送HTTP请求,获取网页内容。使用正则表达式从网页中匹配出所需的数据(统计用区划代码、城乡分类代码和名称)。然后,我们将这些数据保存到二维列表`data`中。
接下来,我们使用xlwt库创建一个Excel文件,并在文件中添加一个工作表。然后,我们将表头和数据写入工作表中。最后,我们将Excel文件保存到指定的路径。
希望这个示例能帮助你实现将区划代码下载并保存到Excel文件中。如有任何问题,请随时提问。
以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。 |