亓 亓 2022-07-23 23:35 采纳率: 75%
浏览 79
已结题

各省的疫情信息保存到Excel文件里面

img

img

img

img


将各省的疫情信息保存到Excel文件里面,如这个图一样,这样来写入,做了两天,还是不会

img

  • 写回答

3条回答 默认 最新

  • UPDATE DEFAULT 2022-07-24 19:47
    关注
    import requests
    import re
    import json
    from openpyxl import Workbook
    
    def export(page_source, id='getAreaStat'):
        re_script = re.search(f'script id=\"{id}\".+?/script' ,page_source)
        str_json = re.search(r'\[.+\]', re_script.group()).group()
        items = json.loads(str_json)
        #with open(f'{id}.json', 'w', encoding='utf8') as f:
            #f.write(str_json)    
        if items:
            wb = Workbook()
            ws0 = wb.active
            ws0.title = '全国'
            ws0.append([str(k) for k,v in items[0].items() if k!='cities'])
            for item in items:
                ws = wb.create_sheet(item['provinceName'])    
                if item['cities']:
                    headers = list(item['cities'][0].keys())
                    ws.append(headers)
                    for city in item['cities']:
                        ws.append(list(city.values()))        
                ws0.append([str(v) for k,v in item.items() if k!='cities'])
            wb.save(f'{id}.xlsx')
            wb.close()
    
    def main():
        headers = {
            'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9',
            'Accept-Encoding': 'gzip, deflate, br',
            'Accept-Language': 'zh-CN,zh;q=0.9',
            'Connection': 'keep-alive',
            'Host': 'ncov.dxy.cn',
            'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/103.0.0.0 Safari/537.36',
        }
        res = requests.get('https://ncov.dxy.cn/ncovh5/view/pneumonia', headers=headers)
        res.encoding = res.apparent_encoding 
        export(res.text, 'getAreaStat')
        export(res.text, 'fetchRecentStatV2')
    
    if __name__ == '__main__':
        main()
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 7月24日
  • 已采纳回答 7月24日
  • 创建了问题 7月23日

悬赏问题

  • ¥15 请问为什么我配置IPsec后PC1 ping不通 PC2,抓包出来数据包也并没有被加密
  • ¥200 求博主教我搞定neo4j简易问答系统,有偿
  • ¥15 nginx的使用与作用
  • ¥100 关于#VijeoCitect#的问题,如何解决?(标签-ar|关键词-数据类型)
  • ¥15 一个矿井排水监控系统的plc梯形图,求各程序段都是什么意思
  • ¥50 安卓10如何在没有root权限的情况下设置开机自动启动指定app?
  • ¥15 ats2837 spi2从机的代码
  • ¥200 wsl2 vllm qwen1.5部署问题
  • ¥100 有偿求数字经济对经贸的影响机制的一个数学模型,弄不出来已经快要碎掉了
  • ¥15 数学建模数学建模需要