【问题标题】:JSONS FIREBASE REAL DATABASE ARE JSONS? [closed]JSONS FIREBASE 真实数据库是 JSONS 吗? [关闭]
【发布时间】:2021-03-20 00:25:32
【问题描述】:

我想知道firebase真实数据库的json是不是jsons,因为每个对象前面都有一个id。我总是将 id 作为对象的一个​​属性,但不是这样,而且我不知道我是否无法更改或如何管理这样的 json。我想在 python 中将其转换为 csv 格式,我不知道如何使用这种格式。我还想创建一个包含所有字段 pregutas 的字符串数组,但我不知道该怎么做,因为有一个 id 。有谁能够帮我 ??也许我可以更改我不知道的firebase中的配置

{

      "-MNix6aRlRNhKx7BkWxN": {
        "pregunta": "Hago los deberes", 
        "respuesta": 1
      }, 
      "-MNixa7sMvm-Q_vg33Bm": {
        "pregunta": "Salto desde un puente ?", 
        "respuesta": 0
      }, 
      "-MNixiWz0ChWsPbs0KS5": {
        "pregunta": "Le pido de salir a mi crush ?", 
        "respuesta": 1
      }, 
      "-MNixnIqTeDU36slCVcX": {
        "pregunta": "Me fumo un piti", 
        "respuesta": 0
      }, 
      "-MNixszgq98myndY0lfw": {
        "pregunta": "Me ducho ahora mismo ?", 
        "respuesta": 1
      }, 
      "-MO13tm0dpmtogdw6ZCQ": {
        "pregunta": "Voy a ser papa?", 
        "respuesta": 0
      }, 
      "-MO1Q7NVvqO76cgjfJAV": {
        "pregunta": "Esto esta avanzando aunque sea lento?", 
        "respuesta": 0
      }, 
      "-MO1QCvTWUk6LlztWY91": {
        "pregunta": "Voy a morir ma\u00f1ana", 
        "respuesta": 0
      }
    }

【问题讨论】:

  • “是 jsons”是什么意思?您显示的所有内容都是有效的 JSON。
  • 你有 {"key": {}} 对象对,所以,是的,它仍然是 JSON

标签: python json firebase csv firebase-realtime-database


【解决方案1】:

假设您的问题中显示的数据结构位于名为response 的变量中,那么代码:

import csv, sys
writer = csv.writer(sys.stdout)
writer.writerows([(r["pregunta"], str(r["respuesta"])) for r in response.values()])

...将仅将 preguntarespuesta 字段写入标准输出上的 CSV。因此,对于您的示例输入,输出将是:

Hago los deberes,1
Me ducho ahora mismo ?,1
Me fumo un piti,0
Voy a morir ma\u00f1ana,0
Le pido de salir a mi crush ?,1
Esto esta avanzando aunque sea lento?,0
Salto desde un puente ?,0
Voy a ser papa?,0

【讨论】:

  • 好的,非常感谢,如果我想创建相同的但使用键? , 第一列 pregunta 和¡ 第二个 respuesta ?因为我这样做并且不知道哪一列是 review = re.sub('[^a-zA-Z]', ' ', dataset['pregunta'][i])
  • 以上代码创建的CSV已经有第一列pregunta和第二列respuesta。我不清楚你要求的是什么,这是不同的。
  • ...如果您想过滤掉不可打印的字符,如何做到这一点是一个单独的问题 - 这是一个已经被问及回答的问题,f/e at Stripping non-printable characters from a string in Python . [^A-Za-z] 方法的工作方式非常依赖于语言环境;我不推荐它。
  • 发生的情况是,现在有了这个 csv,“”消失了,然后当我尝试 read_csv 时,它会产生这个错误 'utf-8' codec can't decode byte 0xf1 in position 14: invalid continuation byte , 它必须是 "Hago los deberes" , "1" 。我该怎么做??
  • 不,您不需要删除该字符,您只需将其编码为 UTF-8(因为这是您的代码在另一端进行读取所期望的)。
猜你喜欢
  • 2020-08-13
  • 1970-01-01
  • 2018-02-15
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-01-19
  • 1970-01-01
  • 2019-05-08
相关资源
最近更新 更多