


Solution au problème de l'utilisation de Python pour générer des caractères CSV tronqués
Contexte de la demande
Récemment, nous avons développé un programme de courrier électronique quotidien pour l'entreprise. Les e-mails sont généralement des formulaires, des images, puis des pièces jointes. Les pièces jointes sont généralement écrites par défaut dans des fichiers txt, mais le Premier ministre espère que les pièces jointes de l'e-mail pourront être ouvertes directement avec un logiciel tel qu'Excel. Au début, il voulait les enregistrer au format Excel, mais lorsqu'il a pensé que la taille du fichier était de 100 $. Excel serait plusieurs fois plus volumineux, le fichier csv était par défaut. Il a également été ouvert avec Excel, mais il s'agissait toujours d'un fichier texte. Il était de petite taille et facile à enregistrer, j'ai donc finalement décidé d'utiliser le module csv pour enregistrer le fichier.
PythonÉcrire des fichiers csv
Python fournit un module intégré pour lire et écrire des fichiers csv Ici, j'utilise uniquement l'écriture, je ne le présenterai pas ici. n'est pas difficile, principalement pour résoudre le problème de code tronqué.
def save2csv(file_name=None, header=None, data=None): """ 保存成CSV格式文件,方便Excel直接打开 :param file_name: 保存的文件名 :param header: 表头,每一列的名字 :param data: 具体填充数据 :return: """ if file_name is None or isinstance(file_name, basestring) is False: raise Exception('保存CSV文件名不能为空,并且必须为字符串类型') if file_name.endswith('.csv') is False: file_name += '.csv' file_obj = open(file_name, 'wb') file_obj.write(codecs.BOM_UTF8) # 防止乱码 writer = csv.writer(file_obj) if data is None or isinstance(data, (tuple, list)) is False: raise Exception('保存CSV文件失败,数据为空或者不是数据类型') if header is not None and isinstance(header, (tuple, list)) is True: writer.writerow(header) for row in data: writer.writerow(row)
Remarque : Il y a trois phrases pour éviter les caractères tronqués.
file_obj = open(file_name, 'wb') file_obj.write(codecs.BOM_UTF8) # 防止乱码 writer = csv.writer(file_obj)
L'écriture de codecs.BOM_UTF8 dans l'en-tête du fichier peut empêcher les caractères tronqués. Les fichiers sont tous utf-. 8 encodé. Format
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Outils d'IA chauds

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

AI Hentai Generator
Générez AI Hentai gratuitement.

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Sujets chauds

Lorsque vous utilisez la bibliothèque Pandas de Python, comment copier des colonnes entières entre deux frames de données avec différentes structures est un problème courant. Supposons que nous ayons deux dats ...

Utilisation alternative des annotations des paramètres Python Dans la programmation Python, les annotations des paramètres sont une fonction très utile qui peut aider les développeurs à mieux comprendre et utiliser les fonctions ...

Choix de la bibliothèque de développement d'applications de bureau multiplateforme Python De nombreux développeurs Python souhaitent développer des applications de bureau pouvant s'exécuter sur Windows et Linux Systems ...

Comment les scripts Python effacent-ils la sortie en position de curseur à un emplacement spécifique? Lors de l'écriture de scripts Python, il est courant d'effacer la sortie précédente à la position du curseur ...

Pourquoi mon code ne peut-il pas faire renvoyer les données par l'API? En programmation, nous rencontrons souvent le problème du retour des valeurs nulles lorsque l'API appelle, ce qui n'est pas seulement déroutant ...

Comment Uvicorn écoute-t-il en permanence les demandes HTTP? Uvicorn est un serveur Web léger basé sur ASGI. L'une de ses fonctions principales est d'écouter les demandes HTTP et de procéder ...

Dans Python, comment créer dynamiquement un objet via une chaîne et appeler ses méthodes? Il s'agit d'une exigence de programmation courante, surtout si elle doit être configurée ou exécutée ...

De nombreux développeurs s'appuient sur PYPI (PythonPackageIndex) ...
