Compare commits

..

12 Commits
1 ... master

@ -0,0 +1,95 @@
import csv
import requests
import re, os
from bs4 import BeautifulSoup
url = ' https://mp.weixin.qq.com/s/K0u_qPFQtWuH4hk5K2xWfQ'
response = requests.get(url)
response.encoding = response.apparent_encoding
response.encoding = 'utf-8'
html = response.text
soup = BeautifulSoup(html, 'html.parser')
ans = soup.select('div.rich_media > div.rich_media_inner ')
ans1 = ans[0].text.encode()
def openreadtxt(file_name):
data = []
file = open(file_name, 'r', encoding='utf-8') # 打开文件
file_data = file.readlines() # 读取所有行
for row in file_data:
tmp_list = row.split(' ') # 按‘,’切分每行的数据
tmp_list[-1] = tmp_list[-1].replace('\n', '') # 去掉换行符
data.append(tmp_list) # 将每行数据插入data中
file.close()
return data
def updateFile(file, old_str, new_str):
with open(file, "r", encoding="utf-8") as f1, open("%s.bak" % file, "w", encoding="utf-8") as f2:
for line in f1:
f2.write(re.sub(old_str, new_str, line))
os.remove(file)
os.rename("%s.bak" % file, file)
f2.close()
f1.close()
updateFile(r"test.txt", "", "")
updateFile(r"test.txt", "", ":")
updateFile(r"test.txt", "-", "--")
updateFile(r"test.txt", "确诊病例", "")
updateFile(r"test.txt", "病例轨迹", "")
updateFile(r"test.txt", "病例", "&&病例")
updateFile(r"test.txt", "呼和浩特市应对新型冠状病毒感染", "end")
data = openreadtxt('test.txt')
data = str(data)
result = re.findall("病例\d:.*?(?=&&|end)", data)
name = []
date = []
time = []
through = []
Num = 0
for i in result:
NUM = 0
f = open('20.txt', 'w', encoding="utf-8")
f.write(i)
f.close()
data = openreadtxt("20.txt")
data = str(data)
name1 = re.findall("病例\d", data)
getOne = re.findall("\d{1,2}月\d{1,2}?日.*?。+(?=\d{1,2}月\d{1,2}日)|\d{1,2}月\d{1,2}?日.*?。+(?=病例)", data)
numname = 0
for i in getOne:
NUM += 1
f = open('10.txt', 'w', encoding="utf-8")
f.write(i)
f.close()
data = openreadtxt("10.txt")
data = str(data)
date1 = re.findall("\d{1,2}月\d{1,2}日+(?=)", data)[0]
date1 = date1.split()
time += re.findall("\d{1,2}:\d{1,2}--\d{1,2}:\d{1,2}|\d{1,2}:\d{1,2}", data)
updateFile(r"10.txt", "[0-9月\'\",:-]", "")
updateFile(r"10.txt", "日,", "")
data = openreadtxt("10.txt")
data = str(data)
t = re.findall("(?<=。)+.*?。", data)
through += t
numdate = len(t)
Num += numdate
numname += numdate
x = 0
while x < numdate:
date += date1
x += 1
i = 0
name2 = name1[0].split()
while i < numname:
name += name2
i += 1
num = range(0, Num)
rows = zip(num, name, date, date, time, through)
with open("test.csv", "w", encoding='utf-8', newline="") as t:
writer = csv.writer(t)
writer.writerow(["", "病例", "开始日期", "结束日期", "时间", "事件"])
for row in rows:
writer.writerow(row)
t.close()

@ -1,2 +1,18 @@
# TDXZ import csv
flag=0
csv_reader=csv.reader(open('test.csv'))
headers=next(csv_reader)
case = input("病例名称:")
Start_date = input("开始日期:")
End_date = input("结束日期:")
keyword = input("查询关键字:")
for row in csv_reader:
if case in row[0]:
if Start_date==row[1]:
if End_date==row[2]:
if keyword in row[4]:
row=' '.join(row)
print(row)
flag=1
if flag==0:
print("未查找到!")

@ -0,0 +1,97 @@
```python
import csv
import requests
import re, os
from bs4 import BeautifulSoup
url = ' https://mp.weixin.qq.com/s/K0u_qPFQtWuH4hk5K2xWfQ'
response = requests.get(url)
response.encoding = response.apparent_encoding
response.encoding = 'utf-8'
html = response.text
soup = BeautifulSoup(html, 'html.parser')
ans = soup.select('div.rich_media > div.rich_media_inner ')
ans1 = ans[0].text.encode()
def openreadtxt(file_name):
data = []
file = open(file_name, 'r', encoding='utf-8') # 打开文件
file_data = file.readlines() # 读取所有行
for row in file_data:
tmp_list = row.split(' ') # 按‘,’切分每行的数据
tmp_list[-1] = tmp_list[-1].replace('\n', '') # 去掉换行符
data.append(tmp_list) # 将每行数据插入data中
file.close()
return data
def updateFile(file, old_str, new_str):
with open(file, "r", encoding="utf-8") as f1, open("%s.bak" % file, "w", encoding="utf-8") as f2:
for line in f1:
f2.write(re.sub(old_str, new_str, line))
os.remove(file)
os.rename("%s.bak" % file, file)
f2.close()
f1.close()
updateFile(r"test.txt", "", "。")
updateFile(r"test.txt", "", ":")
updateFile(r"test.txt", "-", "--")
updateFile(r"test.txt", "确诊病例", "")
updateFile(r"test.txt", "病例轨迹", "")
updateFile(r"test.txt", "病例", "&&病例")
updateFile(r"test.txt", "呼和浩特市应对新型冠状病毒感染", "end")
data = openreadtxt('test.txt')
data = str(data)
result = re.findall("病例\d:.*?(?=&&|end)", data)
name = []
date = []
time = []
through = []
Num = 0
for i in result:
NUM = 0
f = open('20.txt', 'w', encoding="utf-8")
f.write(i)
f.close()
data = openreadtxt("20.txt")
data = str(data)
name1 = re.findall("病例\d", data)
getOne = re.findall("\d{1,2}月\d{1,2}?日.*?。+(?=\d{1,2}月\d{1,2}日)|\d{1,2}月\d{1,2}?日.*?。+(?=病例)", data)
numname = 0
for i in getOne:
NUM += 1
f = open('10.txt', 'w', encoding="utf-8")
f.write(i)
f.close()
data = openreadtxt("10.txt")
data = str(data)
date1 = re.findall("\d{1,2}月\d{1,2}日+(?=)", data)[0]
date1 = date1.split()
time += re.findall("\d{1,2}:\d{1,2}--\d{1,2}:\d{1,2}|\d{1,2}:\d{1,2}", data)
updateFile(r"10.txt", "[0-9月\'\",:-]", "")
updateFile(r"10.txt", "日,", "。")
data = openreadtxt("10.txt")
data = str(data)
t = re.findall("(?<=。)+.*?。", data)
through += t
numdate = len(t)
Num += numdate
numname += numdate
x = 0
while x < numdate:
date += date1
x += 1
i = 0
name2 = name1[0].split()
while i < numname:
name += name2
i += 1
num = range(0, Num)
rows = zip(num, name, date, date, time, through)
with open("test.csv", "w", encoding='utf-8', newline="") as t:
writer = csv.writer(t)
writer.writerow(["", "病例", "开始日期", "结束日期", "时间", "事件"])
for row in rows:
writer.writerow(row)
t.close()
```

@ -0,0 +1,125 @@
{
"cells": [
{
"cell_type": "code",
"execution_count": null,
"id": "63b3eaa5",
"metadata": {},
"outputs": [],
"source": [
"import csv\n",
"import requests\n",
"import re, os\n",
"from bs4 import BeautifulSoup\n",
"\n",
"url = ' https://mp.weixin.qq.com/s/K0u_qPFQtWuH4hk5K2xWfQ'\n",
"response = requests.get(url)\n",
"response.encoding = response.apparent_encoding\n",
"response.encoding = 'utf-8'\n",
"html = response.text\n",
"soup = BeautifulSoup(html, 'html.parser')\n",
"ans = soup.select('div.rich_media > div.rich_media_inner ')\n",
"ans1 = ans[0].text.encode()\n",
"\n",
"def openreadtxt(file_name):\n",
" data = []\n",
" file = open(file_name, 'r', encoding='utf-8') \n",
" file_data = file.readlines() \n",
" for row in file_data:\n",
" tmp_list = row.split(' ')\n",
" tmp_list[-1] = tmp_list[-1].replace('\\n', '')\n",
" data.append(tmp_list)\n",
" file.close()\n",
" return data\n",
"\n",
"def updateFile(file, old_str, new_str):\n",
" with open(file, \"r\", encoding=\"utf-8\") as f1, open(\"%s.bak\" % file, \"w\", encoding=\"utf-8\") as f2:\n",
" for line in f1:\n",
" f2.write(re.sub(old_str, new_str, line))\n",
" os.remove(file)\n",
" f2.close()\n",
" f1.close()\n",
"\n",
"updateFile(r\"test.txt\", \"\", \"。\")\n",
"updateFile(r\"test.txt\", \"\", \":\")\n",
"updateFile(r\"test.txt\", \"-\", \"--\")\n",
"updateFile(r\"test.txt\", \"确诊病例\", \"\")\n",
"updateFile(r\"test.txt\", \"病例轨迹\", \"\")\n",
"updateFile(r\"test.txt\", \"病例\", \"&&病例\")\n",
"updateFile(r\"test.txt\", \"呼和浩特市应对新型冠状病毒感染\", \"end\")\n",
"data = openreadtxt('test.txt')\n",
"data = str(data)\n",
"result = re.findall(\"病例\\d:.*?(?=&&|end)\", data)\n",
"name = []\n",
"date = []\n",
"time = []\n",
"through = []\n",
"Num = 0\n",
"for i in result:\n",
" NUM = 0\n",
" f = open('20.txt', 'w', encoding=\"utf-8\")\n",
" f.write(i)\n",
" f.close()\n",
" data = openreadtxt(\"20.txt\")\n",
" data = str(data)\n",
" name1 = re.findall(\"病例\\d\", data)\n",
" getOne = re.findall(\"\\d{1,2}月\\d{1,2}?日.*?。+(?=\\d{1,2}月\\d{1,2}日)|\\d{1,2}月\\d{1,2}?日.*?。+(?=病例)\", data)\n",
" numname = 0\n",
" for i in getOne:\n",
" NUM += 1\n",
" f = open('10.txt', 'w', encoding=\"utf-8\")\n",
" f.write(i)\n",
" f.close()\n",
" data = openreadtxt(\"10.txt\")\n",
" data = str(data)\n",
" date1 = re.findall(\"\\d{1,2}月\\d{1,2}日+(?=)\", data)[0]\n",
" date1 = date1.split()\n",
" time += re.findall(\"\\d{1,2}:\\d{1,2}--\\d{1,2}:\\d{1,2}|\\d{1,2}:\\d{1,2}\", data)\n",
" updateFile(r\"10.txt\", \"[0-9月\\'\\\",:-]\", \"\")\n",
" updateFile(r\"10.txt\", \"日,\", \"。\")\n",
" data = openreadtxt(\"10.txt\")\n",
" data = str(data)\n",
" t = re.findall(\"(?<=。)+.*?。\", data)\n",
" through += t\n",
" numdate = len(t)\n",
" Num += numdate\n",
" numname += numdate\n",
" x = 0\n",
" while x < numdate:\n",
" date += date1\n",
" x += 1\n",
" i = 0\n",
" name2 = name1[0].split()\n",
" while i < numname:\n",
" name += name2\n",
" i += 1\n",
"num = range(0, Num)\n",
"rows = zip(num, name, date, date, time, through)\n",
"with open(\"test.csv\", \"w\", encoding='utf-8', newline=\"\") as t:\n",
" writer = csv.writer(t)\n",
" writer.writerow([\"\", \"病例\", \"开始日期\", \"结束日期\", \"时间\", \"事件\"])"
]
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 3 (ipykernel)",
"language": "python",
"name": "python3"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 3
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.9.12"
}
},
"nbformat": 4,
"nbformat_minor": 5
}

@ -0,0 +1,126 @@
{
"cells": [
{
"cell_type": "code",
"execution_count": null,
"id": "63b3eaa5",
"metadata": {},
"outputs": [],
"source": [
"import csv\n",
"import requests\n",
"import re, os\n",
"from bs4 import BeautifulSoup\n",
"\n",
"url = ' https://mp.weixin.qq.com/s/K0u_qPFQtWuH4hk5K2xWfQ'\n",
"response = requests.get(url)\n",
"response.encoding = response.apparent_encoding\n",
"response.encoding = 'utf-8'\n",
"html = response.text\n",
"soup = BeautifulSoup(html, 'html.parser')\n",
"ans = soup.select('div.rich_media > div.rich_media_inner ')\n",
"ans1 = ans[0].text.encode()\n",
"\n",
"def openreadtxt(file_name):\n",
" data = []\n",
" file = open(file_name, 'r', encoding='utf-8') \n",
" file_data = file.readlines() \n",
" for row in file_data:\n",
" tmp_list = row.split(' ')\n",
" tmp_list[-1] = tmp_list[-1].replace('\\n', '')\n",
" data.append(tmp_list)\n",
" file.close()\n",
" return data\n",
"\n",
" def updateFile(file, old_str, new_str):\n",
" with open(file, \"r\", encoding=\"utf-8\") as f1, open(\"%s.bak\" % file, \"w\", encoding=\"utf-8\") as f2:\n",
" for line in f1:\n",
" f2.write(re.sub(old_str, new_str, line))\n",
" os.remove(file)\n",
" os.rename(\"%s.bak\" % file, file)\n",
" f2.close()\n",
" f1.close()\n",
"\n",
"updateFile(r\"test.txt\", \"\", \"。\")\n",
"updateFile(r\"test.txt\", \"\", \":\")\n",
"updateFile(r\"test.txt\", \"-\", \"--\")\n",
"updateFile(r\"test.txt\", \"确诊病例\", \"\")\n",
"updateFile(r\"test.txt\", \"病例轨迹\", \"\")\n",
"updateFile(r\"test.txt\", \"病例\", \"&&病例\")\n",
"updateFile(r\"test.txt\", \"呼和浩特市应对新型冠状病毒感染\", \"end\")\n",
"data = openreadtxt('test.txt')\n",
"data = str(data)\n",
"result = re.findall(\"病例\\d:.*?(?=&&|end)\", data)\n",
"name = []\n",
"date = []\n",
"time = []\n",
"through = []\n",
"Num = 0\n",
"for i in result:\n",
" NUM = 0\n",
" f = open('20.txt', 'w', encoding=\"utf-8\")\n",
" f.write(i)\n",
" f.close()\n",
" data = openreadtxt(\"20.txt\")\n",
" data = str(data)\n",
" name1 = re.findall(\"病例\\d\", data)\n",
" getOne = re.findall(\"\\d{1,2}月\\d{1,2}?日.*?。+(?=\\d{1,2}月\\d{1,2}日)|\\d{1,2}月\\d{1,2}?日.*?。+(?=病例)\", data)\n",
" numname = 0\n",
" for i in getOne:\n",
" NUM += 1\n",
" f = open('10.txt', 'w', encoding=\"utf-8\")\n",
" f.write(i)\n",
" f.close()\n",
" data = openreadtxt(\"10.txt\")\n",
" data = str(data)\n",
" date1 = re.findall(\"\\d{1,2}月\\d{1,2}日+(?=)\", data)[0]\n",
" date1 = date1.split()\n",
" time += re.findall(\"\\d{1,2}:\\d{1,2}--\\d{1,2}:\\d{1,2}|\\d{1,2}:\\d{1,2}\", data)\n",
" updateFile(r\"10.txt\", \"[0-9月\\'\\\",:-]\", \"\")\n",
" updateFile(r\"10.txt\", \"日,\", \"。\")\n",
" data = openreadtxt(\"10.txt\")\n",
" data = str(data)\n",
" t = re.findall(\"(?<=。)+.*?。\", data)\n",
" through += t\n",
" numdate = len(t)\n",
" Num += numdate\n",
" numname += numdate\n",
" x = 0\n",
" while x < numdate:\n",
" date += date1\n",
" x += 1\n",
" i = 0\n",
" name2 = name1[0].split()\n",
" while i < numname:\n",
" name += name2\n",
" i += 1\n",
"num = range(0, Num)\n",
"rows = zip(num, name, date, date, time, through)\n",
"with open(\"test.csv\", \"w\", encoding='utf-8', newline=\"\") as t:\n",
" writer = csv.writer(t)\n",
" writer.writerow([\"\", \"病例\", \"开始日期\", \"结束日期\", \"时间\", \"事件\"])"
]
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 3 (ipykernel)",
"language": "python",
"name": "python3"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 3
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.9.12"
}
},
"nbformat": 4,
"nbformat_minor": 5
}

@ -0,0 +1,94 @@
```python
import csv
import requests
import re, os
from bs4 import BeautifulSoup
url = ' https://mp.weixin.qq.com/s/K0u_qPFQtWuH4hk5K2xWfQ'
response = requests.get(url)
response.encoding = response.apparent_encoding
response.encoding = 'utf-8'
html = response.text
soup = BeautifulSoup(html, 'html.parser')
ans = soup.select('div.rich_media > div.rich_media_inner ')
ans1 = ans[0].text.encode()
def openreadtxt(file_name):
data = []
file = open(file_name, 'r', encoding='utf-8')
file_data = file.readlines()
for row in file_data:
tmp_list = row.split(' ')
tmp_list[-1] = tmp_list[-1].replace('\n', '')
data.append(tmp_list)
file.close()
return data
def updateFile(file, old_str, new_str):
with open(file, "r", encoding="utf-8") as f1, open("%s.bak" % file, "w", encoding="utf-8") as f2:
for line in f1:
f2.write(re.sub(old_str, new_str, line))
os.remove(file)
os.rename("%s.bak" % file, file)
f2.close()
f1.close()
updateFile(r"test.txt", "", "。")
updateFile(r"test.txt", "", ":")
updateFile(r"test.txt", "-", "--")
updateFile(r"test.txt", "确诊病例", "")
updateFile(r"test.txt", "病例轨迹", "")
updateFile(r"test.txt", "病例", "&&病例")
updateFile(r"test.txt", "呼和浩特市应对新型冠状病毒感染", "end")
data = openreadtxt('test.txt')
data = str(data)
result = re.findall("病例\d:.*?(?=&&|end)", data)
name = []
date = []
time = []
through = []
Num = 0
for i in result:
NUM = 0
f = open('20.txt', 'w', encoding="utf-8")
f.write(i)
f.close()
data = openreadtxt("20.txt")
data = str(data)
name1 = re.findall("病例\d", data)
getOne = re.findall("\d{1,2}月\d{1,2}?日.*?。+(?=\d{1,2}月\d{1,2}日)|\d{1,2}月\d{1,2}?日.*?。+(?=病例)", data)
numname = 0
for i in getOne:
NUM += 1
f = open('10.txt', 'w', encoding="utf-8")
f.write(i)
f.close()
data = openreadtxt("10.txt")
data = str(data)
date1 = re.findall("\d{1,2}月\d{1,2}日+(?=)", data)[0]
date1 = date1.split()
time += re.findall("\d{1,2}:\d{1,2}--\d{1,2}:\d{1,2}|\d{1,2}:\d{1,2}", data)
updateFile(r"10.txt", "[0-9月\'\",:-]", "")
updateFile(r"10.txt", "日,", "。")
data = openreadtxt("10.txt")
data = str(data)
t = re.findall("(?<=。)+.*?。", data)
through += t
numdate = len(t)
Num += numdate
numname += numdate
x = 0
while x < numdate:
date += date1
x += 1
i = 0
name2 = name1[0].split()
while i < numname:
name += name2
i += 1
num = range(0, Num)
rows = zip(num, name, date, date, time, through)
with open("test.csv", "w", encoding='utf-8', newline="") as t:
writer = csv.writer(t)
writer.writerow(["", "病例", "开始日期", "结束日期", "时间", "事件"])
```

@ -0,0 +1,24 @@
# -*- coding: gbk -*-
import csv
import re
case = input("请输入:")
Start_date = input("要查询的开始时间:")
End_date = input("要查询的结束时间:")
keyword = input("关键字:")
with open('test.csv', 'r', encoding='utf-8') as f:
cs = list(csv.reader(f))
for i in cs:
name = str(i[1])
Bdate = str(i[2])
Edate = str(i[3])
Time = str(i[4])
thought = str(i[5])
if case == name or case == " ":
if Start_date == Bdate or Start_date == " ":
if End_date == Edate or End_date == " ":
s = re.findall(keyword, thought)
if keyword == " " :
print(name + " " + Bdate + Time + thought)
elif s!=[]:
print(name+" "+Bdate+Time+thought)
Loading…
Cancel
Save