我从数据库中取出两列数据得到
data = [['美国', 46], ['英国', 27], ['中国', 26]]
如何转换为json格式的文件
{
{
name: '美国',
value: 46
},
{
name: '英国',
value: 27
},
{
name: '中国',
value: 26
},
}
求相关的python代码。最好能附上注释,本人初学者,多包涵,真的不是很会这个问题。
Je pense que le résultat que vous souhaitez peut être :
ou :
Le format json sérialise en fait un objet Python dans un fichier texte brut (pour Python)
La fonction json.dumps convertit (sérialise) un objet python en une chaîne json, ce qui signifie utiliser 4 espaces pour indenter cette chaîne. est aussi une chaîne normale, vous pouvez :
Pour les débutants, le code ci-dessus n'est peut-être pas facile à comprendre. Écrivons la première fonction d'une manière plus idiote :
À propos de la question
@pylego Il y a un problème. Votre exemple de sortie n'est pas un json standard (pour la définition standard de json, veuillez vous référer à : Présentation de JSON
{}
est un objet js, similaire au dictionnaire Python. de clés. Composé de paires de valeurs, l'exemple que vous avez donné :Évidemment non conforme à la réglementation, alors devinez :
c'est ce que tu veux.
Comment faire
Les méthodes doivent être similaires pour tout le monde et peuvent être grossièrement divisées en trois parties :
Convertir
data
à la forme souhaitée : liste de dictionnaireUtilisez le module
json
pour convertirdata
enjson_data
Écrire dans un fichier
(1) Convertir
data
à la forme souhaitée : liste de dictionnaireLa première partie est assez différente. J'ai choisi de créer
names
cette liste en premier :En fait, cela ressemble à :
c'est pareil, mais j'aime beaucoup la méthode d'utilisation de
split
car c'est plus rapide à écrire (quand il y a beaucoup de projets, on n'a pas besoin de mettre autant de guillemets).Ensuite j'utilise une compréhension de liste pour créer une liste de dictionnaire :
Utilisez d'abord
for d in data
pour parcourir chaque paire dansdata
, puis utilisezzip
pour combiner le nom du projet avec la valeur correspondante :Ensuite,
dict
peut intégrer un itérable (chaque élément est une paire clé-valeur, comme un tuple à deux éléments), créant ainsi un dictionnaire.(2) Utilisez le module
json
pour convertirdata
enjson_data
La deuxième partie, le dumping
json_data
, c'est assez simple, il suffit d'utiliserdumps
, voir json.dumpssort_keys
: triera les clés enobject
en json, qui peut être défini ou nonindent
: Définir l'indentationseparators
: Définissez le symbole délimiteur pour la sortie json,','
est utilisé pour séparer les éléments,': '
est utilisé pour séparer les clés et les valeursensure_ascii
: défini surFalse
pour désactiver l'échappement Unicode(3) Écrire dans un fichier
Rien de spécial, utilisez
with
pour gérer les changements de fichiers, utilisezprint(file=XXX)
pour afficherQuestions auxquelles j'ai répondu : Python-QA