将“import json import re from bs4 import BeautifulSoup import json import re from bs4 import BeautifulSoup soup = BeautifulSoup(open('../上级医生查房记录4.html', encoding='utf-8'), features='html.parser') # 打开html sp = soup.find_all("span") # 查找所有span的内容 res1 = [span.get_text() for span in sp] # 给res赋予在sp中查询到的span内容 res2 = "".join(str(res1)) res3 = re.sub(r"[0-9]{4}-[0-9]{2}-[0-9]{2}", "", res2) res4 = re.sub(r"[0-9]{2}:[0-9]{2}", "", res3) # 去除包含时间格式的内容 result1 = [''.join(x.split()) for x in res4] # 拆分每个元素 rr = "".join(re.findall(r'\b\w+\b', str(result1))) # 合并每一个元素 r = re.sub(r"xa0", "", rr) r = re.sub(r"陆军军医大学第一附属医院西南医院", "\n陆军军医大学第一附属医院(西南医院)\n", r) r = re.sub(r"病历", "病例\n", r) r = re.sub(r"姓名| 姓名xx| 姓名xxx", "姓名:", r) r = re.sub(r"病区产科治疗区", " 病区:产科治疗区", r) r = re.sub(r"床号| 床号x| 床号xx| 床号xxx", " 床号:", r) r = re.sub(r"住院号| 住院号x| 住院号xx| 住院号xxx", " 住院号:", r) r = re.sub(r"ID号| ID号x| ID号xx| ID号xxx", " ID号:", r) r = re.sub(r"查房记录", "查房记录\n", r) r = re.sub(r"上级医师", "\n上级医师:", r) r = re.sub(r"第[0-9]页", "\n第 页", r) r = re.sub(r"x", "", r) # s = re.compile('查房记录(.+)上级医师') # ss = s.findall(rr) # 整理格式 print(r)”转化为json并格式化
时间: 2023-07-21 13:19:58 浏览: 193
您可以使用Python中的`json`模块来将文本转换为JSON格式,并使用`json.dumps()`函数将其格式化输出。
这是您的代码转换为JSON格式并格式化输出的示例:
```python
import json
import re
from bs4 import BeautifulSoup
soup = BeautifulSoup(open('../上级医生查房记录4.html', encoding='utf-8'), features='html.parser')
sp = soup.find_all("span")
res1 = [span.get_text() for span in sp]
res2 = "".join(str(res1))
res3 = re.sub(r"[0-9]{4}-[0-9]{2}-[0-9]{2}", "", res2)
res4 = re.sub(r"[0-9]{2}:[0-9]{2}", "", res3)
result1 = [''.join(x.split()) for x in res4]
rr = "".join(re.findall(r'\b\w+\b', str(result1)))
r = re.sub(r"xa0", "", rr)
r = re.sub(r"陆军军医大学第一附属医院西南医院", "\n陆军军医大学第一附属医院(西南医院)\n", r)
r = re.sub(r"病历", "病例\n", r)
r = re.sub(r"姓名| 姓名xx| 姓名xxx", "姓名:", r)
r = re.sub(r"病区产科治疗区", " 病区:产科治疗区", r)
r = re.sub(r"床号| 床号x| 床号xx| 床号xxx", " 床号:", r)
r = re.sub(r"住院号| 住院号x| 住院号xx| 住院号xxx", " 住院号:", r)
r = re.sub(r"ID号| ID号x| ID号xx| ID号xxx", " ID号:", r)
r = re.sub(r"查房记录", "查房记录\n", r)
r = re.sub(r"上级医师", "\n上级医师:", r)
r = re.sub(r"第[0-9]页", "\n第 页", r)
r = re.sub(r"x", "", r)
# 转换为JSON格式并格式化输出
json_text = json.dumps(r, indent=4, ensure_ascii=False)
print(json_text)
```
使用以上代码,您可以将文本数据转换为JSON格式,并使用`indent`参数指定缩进量,使输出结果更易于阅读。
请注意,由于输入文本中包含大量的中文字符,因此我们使用了`ensure_ascii=False`参数来确保输出结果正确地处理了这些字符。
阅读全文