J'écris les résultats de l'API au fichier CSV à Python 3.7. Problème est-il ajoute des citations doubles ("") à chaque ligne lorsqu'elle écrit au fichier.
Je passe le format de CSV à l'appel de l'API, de sorte que je reçois des résultats au format CSV, puis je l'écrivais à CSV fichier, stockez sur un emplacement spécifique. S'il vous plaît suggérer s'il y a un meilleur moyen de le faire. P>
Voici le code exemple .. p> quand j'utilise Voici des échantillons d'enregistrements. P> escapechaar = ' \ "' code> il ajoute (
" code>) à l'adresse de toutes les valeurs de colonne. p>
2264855868",42.38454",-71.01367",07/15/2019 00:00:00",07/14/2019 20:00:00"
2264855868",42.38454",-71.01367",07/15/2019 01:00:00",07/14/2019 21:00:00"
3 Réponses :
edit: strong> à partir du Documentation : p>
une chaîne d'un caractère utilisé par l'écrivain pour échapper au délimiteur si la citation est définie sur Quote_None et la quote_none et la quote-chose si doublequote est fausse. En lecture, l'Escapechar supprime toute signification particulière du personnage suivant. P>
blockQuote>
et le délimètre: p>
une chaîne d'un caractère utilisé pour séparer les champs. Il est par défaut à ',' p>
blockQuote>
Donc, il va échapper au délimètre ( Si vous ne voulez pas d'échapper, essayez de le laisser vide p> Avez-vous essayé de supprimer la barre oblique de escapechaar = '\ "' code>? Cela ne devrait pas être nécessaire, car vous utilisez des guillemets simples pour la chaîne. Strike> p>
, code>) avec tout ce que vous définissez comme le
escapechar code>, dans ce cas
, code> p >
Oui, essayé d'éliminer la barre oblique (escapechar = '"") mais aucune différence de résultat.
API donne des chaînes / octets que vous pouvez écrire directement dans le fichier. avec La même méthode doit fonctionner si API Envoyer n'importe quel fichier: pour les fichiers plus gros Vous pouvez utiliser
csv.writer code> Vous devez convertir des chaînes / octets vers les données de Python à l'aide de
csv.reader code>, puis convertir Retour à la chaîne / octets avec
csv.writer code> - il n'y a donc aucun sens de le faire. p>
JSON code>,
csv code>,
xml code>,
pdf code>, images, audio, etc. p>
chunk code> /
flux code> dans
Demandes code>. Doc: Demandes - Utilisation avancée P> P> P> P >
Essayez: sortie: p>
Si vous l'obtenez en tant que fichier CSV, écrivez-le avec
ouvert (nom de fichier, 'wb'). Écrire (REC) code> sans
csv.writer () code>. Vous utilisez
csv.writer code> lorsque vous avez des données comme liste de Python.
Merci beaucoup .. cela fonctionne parfaitement pour moi .. req = demande.get (URL = API_BASE_URL, paramiques = paramètres, en-tête = en-têtes) avec ouvert (cible_file_name, 'wb') comme csvfile.write (REQ.Content) ) Est-ce que cela va faire une différence de performance ou de quelque chose. Voulez-vous simplement être sûr de la méthode de fonctionner.
API donne des chaînes / octets que vous pouvez écrire directement dans le fichier. Avec
csv.writer code> Vous devez convertir des chaînes / octets vers des données de Python à l'aide de
csv.reader code>, puis le reconverser en chaîne / octets avec
csv.writer < / Code> - Il n'y a donc pas de sens pour le faire.