将json文件转换为txt文件目录

2024-05-27 11:17:56 发布

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

我正在尝试运行一个scikit示例代码https://github.com/scikit-learn/scikit-learn/blob/master/sklearn/datasets/twenty_newsgroups.py。你知道吗

我在一个json文件中有一组刮取的数据,这是一个示例:

{  
   "articles":[  
      {  
         "compania":"elobservador.com",
         "link":" https://www.elobservador.com.uy ",
         "title":"\"Cierto grado de estrés promueve la creatividad\"",
         "text":" El vídeo proporciona una manera eficaz para ayudarle a demostrar el punto. Cuando haga clic en Vídeo en línea, puede pegar el código para insertar del vídeo que desea agregar."
      },
      {  
         "compania":"ellitoral.com",
         "link":" https://www.ellitoral.com",
         "title":"La tienda para padres",
         "text":" El vídeo proporciona una manera eficaz para ayudarle a demostrar el punto. Cuando haga clic en Vídeo en línea, puede pegar el código para insertar del vídeo que desea agregar."
      },
      {  
         "compania":"lanacion.com",
         "link":" https://lanacion.com",
         "title":"Franquicias: proyecciones de un sistema de cara al año electoral",
         "text":" El vídeo proporciona una manera eficaz para ayudarle a demostrar el punto. Cuando haga clic en Vídeo en línea, puede pegar el código para insertar del vídeo que desea agregar."
      },
      {  
         "compania":"elpais.com",
         "link":" https://elpais.com",
         "title":"Caen los asesinos de dos turistas en Marruecos: afirman que fue un brutal acto terrorista filmado en video",
         "text":" El vídeo proporciona una manera eficaz para ayudarle a demostrar el punto. Cuando haga clic en Vídeo en línea, puede pegar el código para insertar del vídeo que desea agregar."
      },
      {  
         "compania":" elobservador.com",
         "link":" elobservador",
         "title":"Competitividad y agilidad: por qué son claves para las pymes",
         "text":" El vídeo proporciona una manera eficaz para ayudarle a demostrar el punto. Cuando haga clic en Vídeo en línea, puede pegar el código para insertar del vídeo que desea agregar."
      },
      {  
         "compania":"lanacion.com",
         "link":"https://www.lanacion.com.ar ",
         "title":"Masivo operativo en Brasil para capturar a un terrorista prófugo",
         "text":" El vídeo proporciona una manera eficaz para ayudarle a demostrar el punto. Cuando haga clic en Vídeo en línea, puede pegar el código para insertar del vídeo que desea agregar."
      }
   ]
}

这是20新闻组数据集,其树结构如下:

20新闻-18828/

|-- alt.atheism

    |   |-- 49960

    |   |-- 51060

    |   |-- 51119

|-- comp.graphics

    |   |-- 37261

    |   |-- 37913

    |   |-- 37914

    |   |-- 37915

    |   |-- 37916

    |   |-- 37917

    |   |-- 37918

|-- comp.os.ms-windows.misc

    |   |-- 10000

    |   |-- 10001

    |   |-- 10002

    |   |-- 10003

    |   |-- 10004

    |   |-- 10005 

我想让我的文件json保持这样:

主题/

|-- Elobservador.com.txt

|-- ellitoral.com.txt

|-- lanacion.com.txt

|-- elpais.com.txt

|-- lanacion.com.txt

我想将我的json文件转换成多个txt文件,这些文件的名称是company key的值。谢谢


Tags: texthttpscomtitlelinkelenque
1条回答
网友
1楼 · 发布于 2024-05-27 11:17:56

您可以在此处使用for循环:

import json
with open('yourfile.json') as fh:
    content = json.load(fh)

# go through each article in your file
for article in content['articles']:

    company = article['compania']

    # Add check for company file, if exists, add integer
    filename = '%s.txt'%company
    file_exists = os.path.isfile(filename)
    i = 1
    while file_exists:
         filename = '%s_%d.txt'%(company, i)
         file_exists = os.path.isfile(filename)
         i+=1

    # Your file name is formatted here
    with open('%s.txt' % company, 'w') as fh:
        # the indent will keep things looking nice
        fh.write(json.dumps(article, indent=3))

相关问题 更多 >

    热门问题