用Python中的换行符和制表符格式化字符串输出?

2024-09-26 22:44:00 发布

您现在位置:Python中文网/ 问答频道 /正文

我正试图从大量文件中提取一些数据,并将它们转换为特定(JSON)格式,以便使用Django fixture导入数据库

我已经做到了:

'{\n“pk”:2,\n“model”:试验.条件,\n“fields”:{\n“trial_id”:NCT00109798,\n“keyword”:脑和中枢神经系统肿瘤,\n}{\n“pk”:3,\n“model”:试验.条件,\n“fields”:{\n“trial_id”:NCT00109798,\n“keyword”:淋巴瘤,\n}{\n“pk”:2,\n“model”:试验.标准,\n“fields”:{\n“trial_id”:NCT00109798,\n“gender”:两者都是,\n“minimum”年龄:18岁,\n“maximum”年龄:不适用,\n“health\u志愿者”:否,\n“textblock”:,\n}\n\t\t“pk”:2,\n\t\t“model”:trials.trials关键字,\n\t\t“fields”:{\n\t\t“试验号”:NCT00109798,\n\t\t“关键字”:原发性中枢神经系统非霍奇金淋巴瘤,\n\t\t}\n\t\t

…很多行之后。。。。。在

研究治疗完成后,每3个月随访一次,为期1年,每4个月随访1年,然后每6个月随访3年。\n\n预计应计:本研究共计提6-25名患者。\n,\n“总体状态”:招募,\n“阶段”:第2阶段,\n“登记”:25,\n“研究类型”:介入性,\n“条件”:2,3,\n“标准”:1,\n“总体联系人”:testdata,\n“位置”:4,\n“lastchanged”日期:2010年3月31日,\n“firstreceived”日期:2005年5月3日,\n“关键字”:2,3,\n“condition\u mesh”:,\n}\n\n{\n“pk”:测试数据,\n“model”:试验.接触,\n“fields”:{\n“试用号”:NCT00109798,\n“姓”:Pamela Z.New,MD,\n“电话”:,\n“电子邮件”:,\n}}

输出实际上需要如下所示:

{
    "pk": trial_id,
    "model": trials.trial,
    "fields": {
            "trial_id": trial_id,
            "brief_title": brief_title,
            "official_title": official_title,
            "brief_summary": brief_summary,
            "detailed_Description": detailed_description,
            "overall_status": overall_status,
            "phase": phase,
            "enrollment": enrollment,
            "study_type": study_type,
            "condition": _______________,
            "elligibility": elligibility,
            "criteria": ______________,
            "overall_contact": _______________,
            "location": ___________,
            "lastchanged_date": lastchanged_date,
            "firstreceived_date": firstreceived_date,
            "keyword": __________,
            "condition_mesh": condition_mesh,
    }

    "pk": null,
    "model": trials.locations,
    "fields": {
           "trials_id": trials_id,
           "facility": facility,
           "city": city,
           "state": state,
           "zip": zip,
           "country": country,
    }

任何建议都将不胜感激。在


Tags: idfieldsdatemodeltitle关键字condition条件
2条回答

替代品json.dumps文件缩进参数:

Python在http://docs.python.org/library/pprint.html有一台漂亮的打印机。它使用起来非常简单,但只会漂亮地打印python对象(不能给它一个json字符串并期望格式化输出)

例如

pydict = {"name":"Chateau des Tours Brouilly","code":"chateau-des-tours-brouilly-2009-1","region":"France > Burgundy > Beaujolais > Brouilly","winery":"Chateau Des Tours","winery_id":"chateau-des-tours","varietal":"Gamay","price":"14.98","vintage":"2009","type":"Red Wine","link":"http://www.snooth.com/wine/chateau-des-tours-brouilly-2009-1/","tags":"colorful, mauve, intense, purple, floral, violet, lively, rich, raspberry, berry","image":"http://ei.isnooth.com/wine/b/7/8/wine_6316762_search.jpeg","snoothrank":3,"available":1,"num_merchants":10,"num_reviews":1}
from pprint import pprint
pprint(pydict)

输出是

^{pr2}$

json模块中有一个漂亮的打印机。试试这样的方法,print json.dumps(s, indent=4)。在

>>> s = {'pk': 5678, 'model': 'trial model', 'fields': {'brief_title': 'a short title', 'trial_id':    1234}}

>>> print json.dumps(s, indent=4)
{
    "pk": 5678, 
    "model": "trial model", 
    "fields": {
        "brief_title": "a short title", 
        "trial_id": 1234
    }
}

相关问题 更多 >

    热门问题