触点数字孪生,揭秘它的独特魅力
943
2022-10-10
复制and粘贴?Python脚本1分钟解决了我1小时的事!
1.提出需求
这是群里面一位朋友提出来的一个问题。具体需求是怎么样的呢?有这样一个word文档,里面有一个hin长hin长的json字符串格式的数据。朋友想做的就是提取word文档里json数据中的content和option后面的内容。
2.原始数据预览
仔细观察下面的数据。一眼看过去是不是一团糟的样子?这只是其中一部分,如果让你一个个复制粘贴,你受得了吗?如果有更多个word,你是否也准备一个个复制、粘贴呢?
3.解决问题
我的思路是这样的:首先是读取word文档里面的内容,虽然这里只提供一个word文档,你可以直接复制出来,假如有多个这样的word文档呢?接着,利用json.loads()将json字符串转换为json字典格式数据。最后我们利用python字典的特性获取我们想要的信息。
from docx import Documentimport reimport pandas as pdimport json # 1.读取word文档,获取word文档里面的内容x = ""doc = Document(r"G:\1Pycharm_Project\3572(1).docx")for paragraph in doc.paragraphs: text = paragraph.text # 读取word里面的内容有一个特点:每一页会返回一个字符串,共3页,一共返回了3个单独的字符串。 # 但是这是一个完整的json字符串,我们不能将他分开呀。因此,使用字符串拼接,将其合并起来。 x += text # 2.使用json.loads()将json字符串 转换为 字典格式的数据。r = json.loads(x)# 3.对于字典,我们可以利用键,获取里面的值。x = []z = []for i in r["data"]["ques"]: x.append(i["content"]) y = "" for j in i["options"]: y += j["answer"] + " " + j["option"] y += ";" z.append(y) # 4.将获取到的数据,保存成一个DataFrame格式的数据,并导出为excel表格。data = {"content":x,"options":z}df = pd.DataFrame(data)display(df)df.to_excel("text.xlsx")
结果如下:
如果想学习文中设计的python办公自动化,我花了整整一周时间,给你准备了97页的学习资料
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。