Hoe alfanumerieke waarde te lezen bij het importeren van CSV-locatiebestand naar ArcGIS?

Dus ik importeer een csv-bestand naar ArcGIS en het heeft een stel alfanumerieke waarden ..

bijv. Attribuut-ID bevat waarden zoals 101, 101A, 101B, enz ... het probleem is wanneer ik het csv-bestand aan ArcGIS importeer, het zet waarden waar alfanumerieke tekens bestaan

Kan iemand een manier voorstellen om dit te overwinnen?

5
Heb je een voorbeeld van wat het doet? Dit moet als een tekststring worden geïmporteerd.
toegevoegd de auteur Jim, de bron
Is dit probleem alleen voor de berichtkoppen? ArcMap protesteert vaak tegen veldnamen die beginnen met nummers. Kun je ze een voorvoegsel geven?
toegevoegd de auteur mmattax, de bron
Het geeft me alleen waarden waar alfanumerieke waarden bestaan
toegevoegd de auteur Cell-o, de bron

3 antwoord

Ik heb het volgende data.csv-bestand gemaakt:

AttributeID
101
101A
101B

Vervolgens heb ik de gegevens geïmporteerd met behulp van de Table to Table-tool:

  1. Open ArcMap
  2. Expand Catalog window
  3. Located data.csv
  4. Right click and select Export > To Geodatabase (single)...
  5. Specified Output Location to be my Geodatabase (I'm using SDE on SQL Server)
  6. Specified Output Table
  7. Note that the field map has AttributeID set to Text
  8. Click Ok

Nadat de gegevens zijn geïmporteerd, wordt deze toegevoegd aan uw inhoudsopgave (onder bronnen). Wanneer ik de kolom AttributeID aanvink, worden de waarden correct geïmporteerd.

6
toegevoegd
Dit werkt prima !! dank je
toegevoegd de auteur Cell-o, de bron

Ik denk dat er een fout is in het gereedschap Tabel importeren, zelfs als u expliciet opgeeft dat u het zogenaamd numerieke veld als tekst wilt gebruiken (klik met de rechtermuisknop in het venster van de importtool en ga naar Eigenschappen), importeert het nog steeds de alfanumerieke waarden als Null. Als tijdelijke oplossing kunt u aanhalingstekens rond de eerste waarde voor die kolom in het csv-bestand plaatsen. U moet de aanhalingstekens opnieuw uit de geïmporteerde tabel verwijderen, maar het lijkt de alfawaarden op die manier te accepteren.

3
toegevoegd
Ik ben hetzelfde tegengekomen en Kevin's suggestie is hoe ik ervoor zorg. Meestal verwerk ik de gegevens eerst om de hele kolom tussen aanhalingstekens te zetten. Wanneer het als tekst wordt geïmporteerd, gaan de aanhalingstekens vaarwel.
toegevoegd de auteur Nifle, de bron
Hmm ... dit is een oplossing ... maar dit is een serieus probleem voor mij
toegevoegd de auteur Cell-o, de bron

Ik vermoed dat als de eerste waarde in een gegeven kolom van het CSV-bestand eruit ziet als een geheel getal, het resulterende veld van het type LONG zal zijn en elke volgende waarde die geen geheel getal is, ongeldig is. Ik zou willen voorstellen om de module Python csv te gebruiken om het bestand te lezen in en spuug het terug met het Excel "dialect" waar ArcGIS de voorkeur aan geeft.

2
toegevoegd
Toen ESRI zo'n 10 jaar geleden van ArcView 3.X veranderde, werd dit een probleem. Ze gebruikten een Microsoft-bibliotheek om 10 regels van het bestand te lezen en raadden vervolgens de gegevenstypen van elk veld. MS gebruikte dezelfde bibliotheek voor Excel. Ik zag bestanden geruïneerd omdat lange cijfers werden omgezet in wetenschappelijke notatie. Er was een manier om een ​​verborgen bestand te gebruiken om MS te laten weten hoe de velden moesten worden geïnterpreteerd. Het probleem was dat als je het verborgen bestand niet kende, je het niet zou weten om het telkens te kopiëren als je het bestand hebt verplaatst. Ik moest speciale scripts schrijven voor ESRI en Excel om ervoor te zorgen dat bepaalde velden niet werden beschadigd.
toegevoegd de auteur idursun, de bron
Ik heb dit ook gemerkt wanneer je exporteert naar tekst vanuit ArcGIS - meer informatie over dit bestand, genaamd schema.ini hier beschikbaar: msdn.microsoft.com/en-us/library/windows/desktop/…
toegevoegd de auteur blah238, de bron
schema.ini is ook gedocumenteerd in de ESRI-hulp hier: help.arcgis.com/en/arcgisdesktop/10.0/help/index.html #//& hellip;
toegevoegd de auteur blah238, de bron