Caractères déformés lors du téléchargement de CSV sur Google Cloud Storage → Résolu par json

Conclusion

Lorsque j'ai changé le CSV téléchargé dans Storage en ison, les caractères n'étaient plus déformés.

supposition

Consultez la documentation officielle ici pour savoir comment télécharger des fichiers avec l'API de stockage https://cloud.google.com/storage/docs/uploading-objects#storage-upload-object-python

Résultat expérimental

Pour CSV

données brutes

CSV créé localement (UTF-8)

storage_upload.csv


supplements,tablette
...

résultat

CSV téléchargé sur le stockage

storage_upload.csv


supplements,骭  蜑
...

Pour json

données brutes

storage_upload.json


{{"name":"supplements","Nom":"tablette"},{...}}

résultat

Identique aux données d'origine

storage_upload.json


{{"name":"supplements","Nom":"tablette"},{...}}

Remarques

writeJson.py


import json
class WriteJson:
    def __init__(self, ad_data, new_file,file_name):
        self.ad_data = ad_data
        self.new_file = new_file
        self.file_name = file_name
    def write(self):
        method = "w" if self.new_file else "a"
        f = open(self.file_name, method, encoding="utf-8")
        json.dump(self.ad_data,f,ensure_ascii=False)

→ Notez que les données de sortie seront échappées sous la forme "\ uXXXX" à moins que ensure_ascii = False soit défini dans la dernière ligne.

        json.dump(self.ad_data,f)→ Il sera échappé

[python] Format et vidage du fichier JSON

Notes de travail: Contexte de l'article

・ Grattage avec Python → L'erreur suivante s'est produite lors du traitement en boucle pour envoyer du CSV à BigQuery. "10054, 'La connexion existante a été fermée de force à l'hôte distant'" → Comme alternative, j'ai décidé de télécharger une fois le fichier sur Cloud Storage. → Lorsque j'ai téléchargé un CSV encodé en UTF-8 vers Storage, tous les caractères japonais étaient déformés. → Même si vous recherchez, à partir du 06 novembre 2019, ce genre de chose ne touche pas https://stackoverflow.com/questions/45394157/google-cloud-storage-not-handling-utf-8-filenames https://groups.google.com/forum/?hl=ja#!topic/google-app-engine-japan/0NHIIqbLx9w

Si vous connaissez un bon moyen autre que json, veuillez me le faire savoir __ (._.) _


Désolé de vous déranger, mais faites-le nous savoir dans cet article ou dans le compte suivant!

\ Follow Me! / ** * Compte Qiita * ** ** * Compte Twitter * **

Recommended Posts

Caractères déformés lors du téléchargement de CSV sur Google Cloud Storage → Résolu par json
Éliminez les caractères japonais brouillés dans les données JSON acquises par l'API.
Comment réparer la merde lors de la lecture d'images Google Cloud Storage de Django déployées sur GAE