1、数据来源【上海发布】
2、把每天链接在浏览器打开(这样没有评论,方便数据清洗),复制文本,建立每天的工作表(4-23),在excel中只粘贴文本。
3、WPS智能工具箱-合并表格
4、替换第一列的表名,得到日期
5、删除空行
6、读取excel
代码语言:javascript复制import pandas
from DataRecorder import Recorder # 记录器
import csv
global 区
global 需要排除
#excel表格 = pandas.read_excel('@@上海4.12-4.23-清洗.xlsx',sheet_name='总表',header=None, nrows=2000)
excel表格 = pandas.read_excel('3.18-4.23 - 去掉空格.xlsx',sheet_name='总表',header=None)
with open('2022.3.18-4.23.csv', 'a ',encoding='utf-8', newline = 'n')as f:
区 = '空'
for 行 in excel表格.values:
# print(行[1])
7、定义区
代码语言:javascript复制if 行[1] in ['浦东新区'
,'黄浦区'
,'闵行区'
,'宝山区'
,'徐汇区'
,'杨浦区'
,'嘉定区'
,'松江区'
,'普陀区'
,'虹口区'
,'静安区'
,'长宁区'
,'青浦区'
,'奉贤区'
,'金山区'
,'崇明区'
]:
print(行[0],行[1])
区 = 行[1]
8、清洗行中的,。、空格等标点符号
代码语言:javascript复制内容 = 行[1].replace(',','').replace('。','').replace('、','').replace(' ','').replace(',','')
9、清洗非居住地信息
代码语言:javascript复制 需要排除 = True
for 排除 in ['居住地信息'
,'上海发布'
,'图片'
,'市卫健委今早'
,'各区信息如下'
,'滑动查看更多'
,'2022年'
,'关注该公众号'
,'微信扫一扫'
,'文章已于'
,'编辑:'
,'资料'
,'已对相关居住地'
,'文章已于'
,'浦东新区'
,'黄浦区'
,'闵行区'
,'宝山区'
,'徐汇区'
,'杨浦区'
,'嘉定区'
,'松江区'
,'普陀区'
,'虹口区'
,'静安区'
,'长宁区'
,'青浦区'
,'奉贤区'
,'金山区'
,'崇明区'
]:
# print(排除)
if 排除 in 内容:
需要排除 = False
print(内容)
10、把时间、区、居住地写入CSV
代码语言:javascript复制 if 排除 in 内容:
需要排除 = False
print(内容)
# if 需要排除 = True:
# with open('2020.11.15-2.csv', 'a ',encoding='utf-8', newline = 'n')as f:
w = csv.writer(f)
if 需要排除 == True:
print(内容)
w.writerow([行[0]
,区
,内容
])
else :
print('-------------------------排除')
11、数据透视
12、字体、边框、条件格式-色阶、迷你折线图、最高值
13、数据透视,各个区的居住地情况
13、代码
代码语言:javascript复制# -*- coding: utf-8 -*-
"""
Created on Sun Apr 24 15:14:38 2022
@author: Administrator
1、读取excel
2、判断句子是否在区数据内,赋值区
3、写入excel(日期、区、居住地)
3、excel写入卡,换csv试试
4、数据清洗-排除空行、去除标点符号、某些行
"""
import pandas
from DataRecorder import Recorder # 记录器
import csv
global 区
global 需要排除
#excel表格 = pandas.read_excel('@@上海4.12-4.23-清洗.xlsx',sheet_name='总表',header=None, nrows=2000)
excel表格 = pandas.read_excel('3.18-4.23 - 去掉空格.xlsx',sheet_name='总表',header=None)
with open('2022.3.18-4.23.csv', 'a ',encoding='utf-8', newline = 'n')as f:
区 = '空'
for 行 in excel表格.values:
# print(行[1])
# print(type(行[1]))
# if 行[1] == 0:
# print('空行')
# pass
# else:
if 行[1] in ['浦东新区'
,'黄浦区'
,'闵行区'
,'宝山区'
,'徐汇区'
,'杨浦区'
,'嘉定区'
,'松江区'
,'普陀区'
,'虹口区'
,'静安区'
,'长宁区'
,'青浦区'
,'奉贤区'
,'金山区'
,'崇明区'
]:
print(行[0],行[1])
区 = 行[1]
# print(行[0],行[1])
内容 = 行[1].replace(',','').replace('。','').replace('、','').replace(' ','').replace(',','')
print(内容)
需要排除 = True
for 排除 in ['居住地信息'
,'上海发布'
,'图片'
,'市卫健委今早'
,'各区信息如下'
,'滑动查看更多'
,'2022年'
,'关注该公众号'
,'微信扫一扫'
,'文章已于'
,'编辑:'
,'资料'
,'已对相关居住地'
,'文章已于'
,'浦东新区'
,'黄浦区'
,'闵行区'
,'宝山区'
,'徐汇区'
,'杨浦区'
,'嘉定区'
,'松江区'
,'普陀区'
,'虹口区'
,'静安区'
,'长宁区'
,'青浦区'
,'奉贤区'
,'金山区'
,'崇明区'
]:
# print(排除)
if 排除 in 内容:
需要排除 = False
print(内容)
# if 需要排除 = True:
# with open('2020.11.15-2.csv', 'a ',encoding='utf-8', newline = 'n')as f:
w = csv.writer(f)
if 需要排除 == True:
print(内容)
w.writerow([行[0]
,区
,内容
])
else :
print('-------------------------排除')
# w.writerow([行[0]
# ,区
# ,内容
# ])
14、数据
【金山文档】 2022.3.18-4.23
https://kdocs.cn/l/cbCdvbqMLAuE
15、计算各个区,累计次数的比例
16、计算各个区,最后一次阳性日期距今日期。