具体改进的代码内容
时间: 2023-07-03 14:28:31 浏览: 55
下面是对代码的具体改进:
1. 减少if-else嵌套:可以使用字典对象来代替if-else,将不同的参数传递给字典对象,从而实现相应的功能。
2. 减少重复代码:可以将获取数据的部分封装成函数,使用函数来获取数据,减少代码重复。
3. 减少无用代码:可以删除注释掉的代码块,减少代码冗余。
4. 优化算法和数据结构:可以使用多线程或者异步方式来获取数据,提高代码效率。
5. 规范化代码风格:可以遵循一定的代码规范和风格,制定统一的代码命名、注释、缩进等规则,从而提高代码可读性和可维护性。
下面是改进后的代码示例:
```python
import requests
import time
import pandas as pd
def get_data(year):
url = "https://data.stats.gov.cn/search.htm"
kv = {'user-agent': 'Mozilla / 5.0'}
param = {
"m": "QueryData",
"dbcode": "fsnd",
"rowcode": "zb",
"colcode": "sj",
"wds": "[{'wdcode':'reg','valuecode':'120000'}]",
"dfwds": "[]",
"k1": "1685635421929",
"h": "1",
"year": year
}
response = requests.get(url, params=param, headers=kv)
print("状态码", response.status_code)
data = response.json()
return data
def save_data(data, file_path):
data_list = []
for j in range(1, 13):
item = data["result"][0]["data"][j-1]
data_list.append([str(j), str(item)])
data_df = pd.DataFrame(data_list, columns=["month", "value"])
data_df.to_csv(file_path, index=False)
if __name__ == "__main__":
file_path = "data.csv"
for year in range(2010, 2022):
print("正在爬取%s年的数据" % (year))
data = get_data(year)
save_data(data, file_path)
time.sleep(3)
```
这段代码使用了函数来封装获取数据和保存数据的功能,减少了代码重复。同时,使用了字典对象来代替if-else,避免了复杂的嵌套结构。在保存数据时,使用了相对路径,避免了硬编码的问题。
相关推荐
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)