Black Friday = Pricewatch Bekijk onze selectie van de beste Black Friday-deals en voorkom een miskoop.

  • Yarisken
  • Registratie: Augustus 2010
  • Laatst online: 00:17
Hallo,

Ik heb een simple script op een server dat via invoke-sqlcmd een query opslaat in een csv.
Dat is mooi leesbaar via excel op de server.
VB:

Value
224.56089019775391
222.43051147460937
230.218994140625
225.63334655761719
229.31301879882812
232.99269104003906
243.82437133789062
236.13505554199219
237.45573425292969
232.37239074707031
224.28428649902344
226.822265625
237.17622375488281

Als ik deze csv nu kopieer naar mijn laptop en open krijg ik deze output

Value
22.456.089.019.775.300
22.243.051.147.460.900
230.218.994.140.625
22.563.334.655.761.700
22.931.301.879.882.800
23.299.269.104.003.900
24.382.437.133.789.000
23.613.505.554.199.200
23.745.573.425.292.900
23.237.239.074.707.000
22.428.428.649.902.300
226.822.265.625
23.717.622.375.488.200
24.536.415.100.097.600
24.137.973.022.460.900

Heeft iemand een tip hoe ik de formatting in orde kan krijgen na een copy naar mijn laptop ?
Ik heb nu een workaround en dat is de file openen, bewaren als xlsx en dan terug als csv op de server.

Daarna is de formatting wel in orde op mijn laptop.

  • DukeBox
  • Registratie: April 2000
  • Laatst online: 00:48

DukeBox

loves wheat smoothies

De inhoud van je CSV veranderd niet, je moet dus kijken naar de applicatie welke je gebruikt. Waarschijnlijk iets met veld opmaak.

Duct tape can't fix stupid, but it can muffle the sound.


  • Liveshort
  • Registratie: Februari 2011
  • Laatst online: 09-11 21:51

Liveshort

Certified Crazy Person

Kans dat het scheidingsteken op de server een '.' (punt) is ipv een ',' (komma), ofwel de engelse standaard. Volgens mij kun je bij het importeren van een bestand (moet een optie voor zijn als het goed is) aangeven wat je voor delimiter gebruikt, net als de opmaak van de data.

EDIT: heb even gekeken voor je. Er is een optie Data -> From Text/CSV in de ribbon (een van de eerste opties in het datamenu)

[ Voor 18% gewijzigd door Liveshort op 29-01-2018 10:30 ]

There once was a lady of Wight --- Who travelled much faster than light --- She departed one day --- In a relative way --- And arrived on the previous night


  • breew
  • Registratie: April 2014
  • Laatst online: 07:43
@Yarisken Waarschijnlijk open je de csv met excel? Het probleem is dan opgelost als je in Excel op je laptop een als je een "." (punt) instelt als decimaalteken. Waarschijnlijk staat Excel op de server al zo ingesteld (Engels?)
Andersom: Je kunt ook het programma dat de csv genereert vertellen om een "," (komma) te gebruiken als decimaalteken.

Lelijke oplossing: zoek/vervang in de csv-file zelf :)

  • Yarisken
  • Registratie: Augustus 2010
  • Laatst online: 00:17
Hallo,

Jullie opmerkingen hebben me al dichter bij een oplossing gebracht. De excel op de server als op mijn laptop hebben dezelfde regional instellingen. Echter zal de export vanuit de database in de csv in engels formaat gebeuren nl met een ".". Als ik dit kan aanpassen ben ik er denk ik.

Manueel kan ik het idd aanpassen en dan is het ok. Maar het zijn soms 50 csv's dus dat gaat tijdrovend zijn :-)

[ Voor 16% gewijzigd door Yarisken op 29-01-2018 11:26 ]


  • breew
  • Registratie: April 2014
  • Laatst online: 07:43
Yarisken schreef op maandag 29 januari 2018 @ 11:25:
Hallo,

Jullie opmerkingen hebben me al dichter bij een oplossing gebracht. De excel op de server als op mijn laptop hebben dezelfde regional instellingen. Echter zal de export vanuit de database in de csv in engels formaat gebeuren nl met een ".". Als ik dit kan aanpassen ben ik er denk ik.

Manueel kan ik het idd aanpassen en dan is het ok. Maar het zijn soms 50 csv's dus dat gaat tijdrovend zijn :-)
Maar hoe staat in jouw excel het decimaalteken ingesteld? Als je dat op een "." zet, zou het gewoon moeten werken.
decimaalteken instellen

  • The Eagle
  • Registratie: Januari 2002
  • Laatst online: 01:08

The Eagle

I wear my sunglasses at night

Yarisken schreef op maandag 29 januari 2018 @ 11:25:
Hallo,

Jullie opmerkingen hebben me al dichter bij een oplossing gebracht. De excel op de server als op mijn laptop hebben dezelfde regional instellingen. Echter zal de export vanuit de database in de csv in engels formaat gebeuren nl met een ".". Als ik dit kan aanpassen ben ik er denk ik.

Manueel kan ik het idd aanpassen en dan is het ok. Maar het zijn soms 50 csv's dus dat gaat tijdrovend zijn :-)
CSV betekent character separated value maar velen denken dat het comma separated value is. Niet dus. Jij moet ff tegen die DB dude van je zeggen dat ie een ander veldscheidingsteken gebruik ( | bijvoorbeeld) en dan bij je eigen import van je data in excel ook ff aangeven wat het decimaalscheidingsteken is. Decimalscheidingsteken vanuit de DB wil je niet, tenzij het echte decimaalwaarden betreft en die cijfers achter de komma echt nodig zijn.

Al is het nieuws nog zo slecht, het wordt leuker als je het op zijn Brabants zegt :)


  • Yarisken
  • Registratie: Augustus 2010
  • Laatst online: 00:17
Ik heb het zo opgelost

(REPLACE(CONVERT(varchar(30), Value, 0), '.', ','))

Het "." wordt vervangen door een "," en dit blijft zo. Bedankt voor mee te denken allemaal.
Pagina: 1