Suite

Conversion du fichier CSV dans MyGeoData Converter - Colonnes XY non reconnues


Récemment, j'ai essayé d'importer divers fichiers CSV avec des coordonnées XY dans MyGeoData Converter. Dans certains cas, j'ai un message :

Les données sélectionnées n'ont pas de partie spatiale !

Par exemple, ce fichier fonctionne très bien :

id,nom,coordx,coordy 1,Start,18.63,49.5 2,End,18.65,49.42

Dans ce fichier, je suis en mesure de voir l'étendue correcte sur la carte, d'attribuer un système de coordonnées et de transformer le système de coordonnées et le format souhaités, mais j'ai obtenu un mauvais résultat avec ce fichier (aucune partie spatiale détectée) :

id,nom,koordinatenx,koordinateny 1,Début,18.25,41.16 2,Fin,18.26,41.12

On dirait que les colonnes avec des coordonnées XY n'ont pas été reconnues.

Une idée?


Il y a un régner pour la détection de colonnes contenant des coordonnées basé sur le nom de l'attribut. La colonne de coordonnées est détectée si le nom d'attribut de la coordonnée X est :

x, xcoord, xcoordinate, coordx, coordinatex, longitude, long

ou le nom de l'attribut contient :

x_*, *_x

Similaire pour la coordonnée Y :

y, ycoord, ycoordinate, coordy, coordonnée, latitude, lat

ou le nom de l'attribut contient :

y_*, *_y

Renommer coordonnée, coordination attributs par exemple à X, oui ou alors longue, latitude - alors ça devrait marcher...


Ajouter le cadre de données GeoPandas à la table PostGIS ?

Je voudrais télécharger ce GeoDataframe dans une table PostGIS. J'ai déjà une configuration de base de données avec l'extension PostGIS, mais je n'arrive pas à ajouter ce Dataframe en tant que table.

J'ai essayé ce qui suit :

4 réponses

Depuis peu, geopandas a une méthode to_postgis. Waouh !

Noter: vous aurez besoin de psycopg2-binary , sqlalchemy2 et geoalchemy2 installés.

Répondu il y a 3 mois par Brylie Christopher Oxley avec 4 votes positifs

J'ai une solution qui ne nécessite que psycopg2 et galbé (en plus des géopandas bien sûr). C'est généralement une mauvaise pratique d'itérer dans les objets (Geo)DataFrame car c'est lent, mais pour les petits, ou pour les tâches ponctuelles, le travail sera toujours fait.

Fondamentalement, cela fonctionne en vidant la géométrie au format WKB dans une autre colonne, puis en la retransformant en type GEOMETRY lors de l'insertion.

Notez que vous devrez créer le tableau à l'avance avec les bonnes colonnes.

Répondu il y a 3 mois par wfgeo avec 1 vote positif

J'ai également eu la même question que vous avez posée et j'ai passé de nombreux jours dessus (plus que je ne veux l'admettre) à la recherche d'une solution. En supposant la table postgreSQL suivante avec l'extension postGIS,

c'est ce que je finalement a fonctionné :

Je ne peux pas dire si ma logique de connexion à la base de données est la meilleure, car j'ai essentiellement copié cela à partir d'un autre lien et j'étais simplement heureux d'avoir pu mapper (ou refléter) avec succès ma table existante avec la définition de géométrie reconnue. J'écris du code spatial python vers sql depuis quelques mois seulement, donc je sais qu'il y a beaucoup à apprendre.

Répondu il y a 3 mois par utilisateur1745564 avec 5 votes positifs

En utilisant la méthode to_sql de Panda et SQLAlchemy, vous pouvez stocker une trame de données dans Postgres. Et puisque vous stockez un Geodataframe, GeoAlchemy gérera la colonne geom pour vous. Voici un exemple de code :

Il convient de noter que le paramètre 'if_exists' vous permet de gérer la manière dont la trame de données sera ajoutée à votre table postgres :


Vous êtes en bonne compagnie : Zamzar a converti plus de 510 millions de fichiers depuis 2006

CSV (Document)

Extension de fichier .csv
Catégorie Fichier de documents
La description Un fichier CSV est un moyen de collecter les données de n'importe quelle table afin qu'elles puissent être transmises en tant qu'entrée à une autre application orientée table telle qu'une application de base de données relationnelle. Microsoft Excel, un tableur ou une application de base de données relationnelle de premier plan, peut lire les fichiers CSV. Un fichier CSV est parfois appelé fichier plat.
Actions CSV en XLS - Convertir le fichier maintenant
Afficher d'autres formats de fichiers de documents
Détails techniques Dans les ordinateurs, un fichier CSV contient les différentes valeurs d'un tableau sous la forme d'une série de lignes de texte ASCII (American Standard Code for Information Interchange) qui sont ensuite organisées de manière à ce que chaque valeur de colonne soit séparée par une virgule de la valeur de la colonne suivante et de chaque ligne commence une nouvelle ligne. CSV est un exemple de fichier texte délimité, qui utilise une virgule pour séparer les valeurs (de nombreuses autres implémentations de CSV permettent d'utiliser différents séparateurs tels que la barre oblique inverse ou la barre oblique). Cependant, CSV diffère des autres formats de fichiers séparés par des délimiteurs en utilisant un guillemet double autour des champs qui contiennent des caractères réservés (tels que des virgules ou des sauts de ligne). L'avantage de cette approche est qu'elle permet le transfert de données entre différentes applications.
Programmes associés Le format de fichier CSV est très simple et pris en charge par presque tous les tableurs et systèmes de gestion de base de données
Développé par Microsoft
Type MIME texte/valeurs séparées par des virgules
Liens utiles Informations plus détaillées sur les fichiers CSV
Comment utiliser les fichiers CSV
Programmes qui ouvrent des fichiers CSV
Convertisseur CSV

XLS (Document)

Extension de fichier .xls
Catégorie Fichier de documents
La description Microsoft Excel est un tableur commercial écrit et distribué par Microsoft pour Microsoft Windows et Mac OS X. Les versions antérieures à 2007 d'Excel utilisent XLS comme format principal pour l'enregistrement des fichiers. Il comprend des outils de calcul, des graphiques, des tableaux croisés dynamiques et un langage de programmation de macros appelé Visual Basic pour Applications. Il s'agit d'un tableur très largement utilisé pour ces plates-formes, en particulier depuis la version 5 en 1993, et il a presque complètement remplacé Lotus 1-2-3 en tant que norme de l'industrie pour les tableurs. Excel fait partie de Microsoft Office. Les versions actuelles sont 2010 pour Microsoft Windows et 2011 pour Mac OS X.
Actions Convertisseur XLS
Afficher d'autres formats de fichiers de documents
Détails techniques Microsoft Excel jusqu'à la version 2007 utilisait un format de fichier binaire propriétaire appelé Binary Interchange File Format (BIFF) comme format principal. Utilisé comme base pour les fichiers XLS, il s'agit d'un format de persistance qui prend en charge la création et la manipulation de contenu dans des classeurs et des modèles de classeurs. La plupart des versions de Microsoft Excel peuvent lire les formats CSV, DBF, SYLK, DIF et d'autres formats hérités.
Programmes associés Microsoft Excel
Visionneuse Microsoft Excel
Bureau ouvert
Développé par Microsoft
Type MIME application/vnd.ms-excel
Liens utiles Plus de détails sur le format XLS
Comment ouvrir un fichier XLS sans Microsoft Excel
Spécifications du format de fichier binaire Microsoft Office
Convertisseur XLS

Convertir un fichier CSV

En utilisant Zamzar, il est possible de convertir des fichiers CSV vers une variété d'autres formats


Comment importer un fichier CSV avec des transactions dans Xero

A partir de cette étape, vous devez avoir déjà créé un fichier CSV. Vous pouvez le télécharger depuis votre banque en ligne ou vous pouvez créer avec le convertisseur ProperSoft, par exemple, le convertisseur Bank2CSV. IMPORTANT: Bank2CSV est maintenant remplacé par l'application Transactions, qui convertit à partir de plusieurs formats et convertit en plus de formats.

Et lorsque vous convertissez en CSV, sélectionnez Xero, en tant que « Cible CSV » pour votre fichier CSV. Ainsi, le fichier sera correctement formaté pour Xero. Si votre fichier CSV est téléchargé depuis votre banque en ligne, vous devrez peut-être le mapper.

Alors d'abord, cliquez sur 'Comptabilité' puis cliquez sur 'Comptes bancaires'. Vous devez maintenant sélectionner un compte bancaire ou un compte de carte de crédit dans lequel importer des transactions.

Ainsi, par exemple, vous avez un compte courant. Recherchez « Importer manuellement un relevé » ou cliquez sur « Gérer le compte » et recherchez le lien « Importer un relevé ». Dans votre logiciel de comptabilité, recherchez "Télécharger un fichier bancaire" ou des liens similaires pour télécharger le fichier CSV créé.

Cliquez sur le bouton "Parcourir" et sélectionnez un fichier CSV.

Cliquez ensuite sur le bouton « Importer ».

Mappez votre fichier CSV aux champs de transaction Xero. Assurez-vous que vous convertissez correctement un fichier CSV. Vous pouvez consulter les transactions avant de les importer dans le compte Xero.

Les noms, tels que 'Date', 'Montant', 'Bénéficiaire', 'Description', 'Référence', 'Numéro de chèque' proviennent du fichier CSV. Ainsi, lorsque vous créez un fichier CSV avec le convertisseur ProperSoft et que vous sélectionnez l'option « Cible CSV » en tant que Xero, il ajoutera les noms de colonne d'en-tête au fichier CSV. C'est donc plus facile que de le mapper lorsque vous importez dans Xero. Et une autre chose, il nommera les colonnes que Xero peut comprendre automatiquement mapper. Ainsi, dans ce cas, la date est automatiquement mappée sur la transaction « Date », le montant automatiquement mappé sur la transaction « Montant », le bénéficiaire sur le « bénéficiaire » et la description sur la « Description ».

Seules deux colonnes « Référence » et « Numéro de contrôle » ne sont pas automatiquement mappées. Mais ils seraient sur votre fichier CSV si vous convertissez avec le convertisseur ProperSoft et que le fichier que vous convertissez contient des vérifications et des numéros de vérification, la colonne sera alors remplie. Et s'il y a des informations supplémentaires sur votre fichier OFX ou un fichier PDF, elles iront dans la colonne « Référence » et vous pourrez ensuite les mapper également. QuickBooks n'a pas ceci », mais Xero a cette colonne supplémentaire. C'est très pratique lorsque vous souhaitez stocker des détails supplémentaires sur les transactions.

Créez « Référence », sélectionnez « Numéro de contrôle » et vous pouvez maintenant consulter les transactions si vous le souhaitez. Cliquez sur « Suivant » et vous pouvez voir les dates, les montants, vous pouvez voir comment ils seront dans Xero.

Et cliquez sur 'Ok'. Vos transactions sont maintenant importées.

L'étape suivante consiste à mapper les noms des bénéficiaires aux enregistrements des fournisseurs. Disons que vous auriez un bénéficiaire comme Shell 1, 2, 3 ou Shell, ou quelque chose comme ça, mais vous avez un fournisseur appelé Shell dans votre comptabilité Xero. Et puis vous sélectionneriez l'enregistrement du fournisseur dans Xero pour cette transaction. Catégorisez les transactions en sélectionnant le compte. Et puis les transactions seront sous votre compte.

Articles Liés

Copyright © 2008-2021 ProperSoft Inc. Tous droits réservés. Politique de confidentialité


Échec de l'importation de données SSIS de CSV vers une table SQL [fermé]

Vous voulez améliorer cette question ? Mettez à jour la question afin qu'elle soit d'actualité pour les administrateurs de base de données Stack Exchange.

J'ai essayé d'importer les données du fichier CSV vers la table SQL. J'ai 7 colonnes qui sont :

  1. Date d'actualisation - Db_Date
  2. Date du rapport - DB_Date
  3. Période du rapport - Int isolé sur quatre octets
  4. Participé - Quatre octets isolés Int
  5. Organisé - Quatre octets isolés Int
  6. Peert-To-Peer - Int isolé sur quatre octets

J'utilise Flat File Source -> Conversion de données (pour convertir les données dans mon csv pour qu'elles correspondent au type de données selon le tableau ci-dessus) -> OLE DB Destination.

J'obtiens les erreurs suivantes :

[Conversion des données [2]] Erreur : La conversion des données a échoué lors de la conversion de la colonne "". Report Refresh Date"" (37) à la colonne "Copie de". Date d'actualisation du rapport"" (11). La conversion a renvoyé la valeur d'état 2 et le texte d'état "La valeur n'a pas pu être convertie en raison d'une perte potentielle de données.".

[Conversion des données [2]] Erreur : code d'erreur SSIS DTS_E_INDUCEDTRANSFORMFAILUREONERROR. Le fichier "Conversion de données.Sorties[Sortie de conversion de données].Colonnes[Copie de ". Report Refresh Date"]" a échoué car le code d'erreur 0xC020907F s'est produit et la disposition de la ligne d'erreur sur "Data Conversion.Outputs[Data Conversion Output].Columns[Copy of". Report Refresh Date"]" spécifie un échec en cas d'erreur. Une erreur s'est produite sur l'objet spécifié du composant spécifié. Il peut y avoir des messages d'erreur publiés avant cela avec plus d'informations sur l'échec.

Erreur [SSIS.Pipeline] : code d'erreur SSIS DTS_E_PROCESSINPUTFAILED. La méthode ProcessInput sur le composant "Data Conversion" (2) a échoué avec le code d'erreur 0xC0209029 lors du traitement de l'entrée "Data Conversion Input" (3). Le composant identifié a renvoyé une erreur de la méthode ProcessInput. L'erreur est spécifique au composant, mais l'erreur est fatale et entraînera l'arrêt de la tâche de flux de données. Il peut y avoir des messages d'erreur publiés avant cela avec plus d'informations sur l'échec.

Je joins également la capture d'écran de l'apparence de mon fichier CSV.

Toute aide sera utile car j'ai une tonne de données qui doivent être chargées dans des tables SQL à partir de fichiers CSV.


Comment puis-je convertir un fichier CSV en XML ?

Sur le site Web de la communauté sur la conversion, il y a un lien vers un outil de ligne de commande appelé csv2xml. Comme il n'est pas entretenu, vous voudrez peut-être choisir une autre option.

Il est également fait mention d'un outil java appelé csv2xml (attention : le site est en allemand) et d'un outil en ligne de commande appelé ff-extractor.

Le lien contient également des références à Python, Perl, PHP, XSLT, mais cela signifie que vous devez coder le convertisseur vous-même.

Lorsque vous connaissez le format du fichier csv et la structure dont vous avez besoin dans le fichier xml, il est assez simple de créer un script capable de gérer la conversion.

Vous pouvez créer le fichier xml suivant :

Avec le script suivant :

Même si vous n'avez jamais codé auparavant, je pense que cela devrait être facile à utiliser et à modifier. Le fichier est lu ligne par ligne dans la boucle while.

IFS est le spécificateur de champ interne. L'IFS=

Garder le fichier ouvert plus longtemps que nécessaire

Une fois que vous avez exécuté fastaLine = file.readlines( ) , vous avez terminé avec le fichier et vous pouvez le fermer, ce qui signifie que vous en avez terminé avec le bloc with open, et vous pouvez désindenter les blocs qui le suivent. Bien sûr, comme l'a souligné Reinderien, il est probablement préférable de simplement traiter chaque ligne au fur et à mesure que vous les parcourez. (Ceci est particulièrement important avec des fichiers volumineux, où vous voudrez peut-être charger une seule ligne à la fois en mémoire, plutôt que de charger le fichier entier en mémoire.) Vous voudrez donc qu'avec un bloc ouvert ressemble plus à ceci :

Notez que j'ai supprimé le commentaire sur le nombre d'acides aminés (et tout ce qui le suit).


Description du projet

simpledbf est une bibliothèque Python permettant de convertir des fichiers DBF de base (voir Limitations) en fichiers CSV, Pandas DataFrames, tables SQL ou tables HDF5. Ce package est entièrement compatible avec Python >=3.4, avec une prise en charge presque complète de Python 2.7. La conversion en CSV et SQL (voir to_textsql ci-dessous) est entièrement écrit en Python, aucune dépendance supplémentaire n'est donc nécessaire. Pour les autres formats d'exportation, voir Exigences facultatives. Ce code a été conçu pour être très simple, rapide et économe en mémoire pour un traitement interactif ou par lots pratique de fichiers. Par conséquent, il manque de nombreuses fonctionnalités, telles que la possibilité d'écrire des fichiers DBF, que d'autres packages pourraient fournir.

Les corrections de bogues, les questions et les demandes de mise à jour sont encouragées et peuvent être déposées sur le référentiel GitHub.

Ce code est dérivé d'un exemple ActiveState DBF qui fonctionne avec Python2 et est distribué sous une licence PSF.

Exigences facultatives

  • Pandas >= 0.15.2 (Requis pour DataFrame)
  • PyTables >= 3.1 (avec Pandas requis pour les tables HDF)
  • SQLalchemy >= 0.9 (avec Pandas requis pour les tables DataFrame-SQL)

Installation

La version la plus récente de simpledbf peut être installé à l'aide pépin ou alors conda, si vous utilisez la distribution Python d'Anaconda.

La version de développement peut être installée depuis GitHub :

Comme alternative, ce paquet ne contient qu'un seul fichier, donc en principe, vous pouvez télécharger le simpledbf.py depuis Github et placez-le dans le dossier de votre choix.

Limitations des fichiers DBF

Ce package prend actuellement en charge un sous-ensemble de dBase III à 5 fichiers DBF. En particulier, la prise en charge est manquante pour les fichiers mémo liés (c'est-à-dire DBT). Cela est principalement dû aux limitations des types de fichiers disponibles pour l'auteur. N'hésitez pas à demander une mise à jour si vous pouvez fournir un fichier DBF avec un fichier mémo associé. DBF version 7, la spécification de fichier DBF la plus récente, n'est actuellement pas prise en charge par ce package.

Prise en charge de Python 2

À l'exception de l'exportation de fichiers HDF, ce code devrait fonctionner correctement avec Python >=2.7. Cependant, les fichiers HDF créés dans Python3 sont compatibles avec tous les packages HDF Python2, donc en principe, vous pouvez créer n'importe quel fichier HDF dans un environnement Python3 temporaire. Si vous utilisez la distribution Python d'Anaconda (recommandée), vous pouvez créer un petit environnement de travail Python3 comme suit :

L'exportation de fichiers HDF est actuellement interrompue dans Python2 en raison d'une limitation de l'exportation Pandas HDF avec Unicode. Ce problème peut être résolu dans les futures versions de Pandas/PyTables.


Exportez Excel au format CSV avec l'encodage UTF-8 ou UTF-16

Si vos feuilles de calcul Excel contiennent des symboles spéciaux, des caractères étrangers (tildes, accent, etc.) ou des hiéroglyphes, la conversion d'Excel en CSV de la manière décrite ci-dessus ne fonctionnera pas.

Le point est le Enregistrer au format CSV La commande déforme tous les caractères autres que ASCII (American Standard Code for Information Interchange). Et si votre fichier Excel contient des guillemets intelligents ou des tirets longs (par exemple hérités du document Word original qui a été copié/collé dans Excel), ces caractères seraient également mutilés.

Une alternative simple consiste à enregistrer un classeur Excel en tant que fichier Unicode (.txt), puis à le convertir au format CSV. De cette façon, vous conserverez tous les caractères non ASCII intacts.

Avant d'aller plus loin, permettez-moi de souligner brièvement les principales différences entre les codages UTF-8 et UTF-16 afin que vous puissiez choisir le bon format dans chaque cas particulier.

UTF-8 est un encodage plus compact puisqu'il utilise 1 à 4 octets pour chaque symbole. Généralement, ce format est recommandé si les caractères ASCII sont les plus répandus dans votre fichier car la plupart de ces caractères sont stockés dans un octet chacun. Un autre avantage est qu'un fichier UTF-8 contenant uniquement des caractères ASCII a absolument le même encodage qu'un fichier ASCII.

UTF-16 utilise 2 à 4 octets pour stocker chaque symbole. Cependant, un fichier UTF-16 ne nécessite pas toujours plus de stockage que UTF-8. Par exemple, les caractères japonais prennent 3 à 4 octets en UTF-8 et 2 à 4 octets en UTF-16. Ainsi, vous voudrez peut-être utiliser UTF-16 si vos données Excel contiennent des caractères asiatiques, y compris le japonais, le chinois ou le coréen. Un inconvénient notable de ce format est qu'il n'est pas entièrement compatible avec les fichiers ASCII et nécessite certains programmes compatibles Unicode pour les afficher. Veuillez garder cela à l'esprit si vous allez importer le fichier résultant quelque part en dehors d'Excel.

Comment convertir Excel en CSV UTF-8

Supposons que vous ayez une feuille de calcul Excel avec des caractères étrangers, des noms japonais dans notre cas :

Pour exporter ce fichier Excel au format CSV en conservant tous les hiéroglyphes intacts, suivez les étapes ci-dessous :

  1. Dans votre feuille de calcul Excel, accédez à Fichier > Enregistrer sous.
  2. Nommez le fichier et choisissez Texte Unicode (*.txt) dans la liste déroulante à côté de "Enregistrer sous le type", puis cliquez sur Sauvegarder.

Si vous souhaitez un fichier CSV délimité par des virgules, procédez comme suit avec le Bloc-notes :

  • Sélectionnez un caractère de tabulation, faites un clic droit dessus et choisissez Copie dans le menu contextuel, ou appuyez simplement sur CTRL+C comme indiqué dans la capture d'écran ci-dessous.
  • Appuyez sur CTRL+H pour ouvrir le Remplacer dialogue et collez l'onglet copié ( CTRL+V ) dans le Trouver quoi domaine. Lorsque vous faites cela, le curseur se déplacera vers la droite indiquant que l'onglet a été collé. Tapez une virgule dans le Remplacer par champ et cliquez sur Remplace tout.

Dans le Bloc-notes, le fichier résultant devrait ressembler à ceci :

Comment convertir un fichier Excel en CSV UTF-16

L'exportation d'un fichier Excel au format CSV UTF-16 est beaucoup plus rapide et plus facile que la conversion en UTF-8. En effet, Excel utilise automatiquement le format UTF-16 lors de l'enregistrement d'un fichier au format Unicode (.txt).

Donc, ce que vous faites est simplement de cliquer Fichier > Enregistrer sous dans Excel, sélectionnez le Texte Unicode (*.txt) format de fichier, puis remplacez l'extension de fichier par .csv dans l'Explorateur Windows. Fait!

Si vous avez besoin d'un fichier CSV séparé par des virgules ou des points-virgules, remplacez tous les onglets par des virgules ou des points-virgules, respectivement, dans un Bloc-notes ou tout autre éditeur de texte de votre choix (voir l'étape 6 ci-dessus pour plus de détails).


Conversion de fichier CSV dans MyGeoData Converter - Colonnes XY non reconnues - Systèmes d'Information Géographique

Modèle de décision de portefeuille Bassin du Tevere

Utilisez Git ou passez à la caisse avec SVN en utilisant l'URL Web.

Travaillez rapidement avec notre CLI officielle. Apprendre encore plus.

Lancement du bureau GitHub

Si rien ne se passe, téléchargez GitHub Desktop et réessayez.

Lancement du bureau GitHub

Si rien ne se passe, téléchargez GitHub Desktop et réessayez.

Lancer Xcode

Si rien ne se passe, téléchargez Xcode et réessayez.

Lancement du code Visual Studio

Votre espace de code s'ouvrira une fois prêt.

Un problème est survenu lors de la préparation de votre espace de code, veuillez réessayer.


Voir la vidéo: GenOvis - Conversion dun fichier CSV en format Excel (Octobre 2021).