【问题标题】:How to read json file from docx using python如何使用python从docx读取json文件
【发布时间】:2018-05-19 14:50:18
【问题描述】:

我有一个如下所示的 docx 文件。

[ {    "name": "ravi",  
  "city": "chennai",    
  "country": "india"   
}
{

    "name": "raj",  
  "city": "chennai",    
  "country": "india" 
}
]

我正在尝试将此内容作为字典列表来阅读。我试过了。

from docx import Document

document = Document('2255858_1321163255_worldcupdata.docx')
s=""
for i in document.paragraphs:
    s+=i.text
json_list=s[1:-1].split('}') 

但我无法将字符串转换为 dict,我收到以下语句的值错误。

dict('{    "name": "ravi", "city": "chennai", "country": "india"  }')

ValueError: dictionary update sequence element #0 has length 1; 2 is required

【问题讨论】:

    标签: python json list dictionary docx


    【解决方案1】:

    您可以使用json

    [编辑]

    from docx import Document
    import regex as re
    import json
    
    document = Document('2255858_1321163255_worldcupdata.docx')
    s=""
    for i in document.paragraphs:
        s+=i.text
    p = re.compile('\[(.*?)\]')
    d = json.loads(p.search(s).group(0))
    

    做d = json.loads(your_string)

    d 将是你的字典

    loads from json 将字符串转换为dict

    【讨论】:

    • 我试过那个JSONDecodeError: Expecting value: line 1 column 1 (char 0)
    • 当您打印提取的字符串时,您会得到什么?因为那里一定有问题,因为这应该可以工作。
    • 打印给' [ { "name": "ravi", "city": "chennai", "country": "india" },{..... '
    • 它是否以] 和} 结尾,因为当输入字符串的格式不正确时会出现该错误?
    • 你将如何分割数据进行迭代,如果我用'}'分割,这将从字符串中删除
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-10-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多