• Privacywetgeving
    Het is bij Helpmij.nl niet toegestaan om persoonsgegevens in een voorbeeld te plaatsen. Alle voorbeelden die persoonsgegevens bevatten zullen zonder opgaaf van reden verwijderd worden. In de vraag zal specifiek vermeld moeten worden dat het om fictieve namen gaat.

dagelijks omzetten scheidingstekens csv vóór imprort in Excel

Status
Niet open voor verdere reacties.

Marelli7

Gebruiker
Lid geworden
1 jul 2020
Berichten
66
Ik weet het: het eeuwige probleem van de punten, komma's en puntkomma's. Maar ik kon het antwoord zo snel niet vinden. Als het het er wel is graag een linkje.

dagelijks importeer ik 4 á 5 csv.bestanden uit verschillende bronnen (bijv. ThingSpeak en andere dataloggers) in Excel. Ik kan de settings daarvan niet aanpassen dus krijg ik de csv's in het 'komma-punt' format.
Nu gebruik ik eerst Kladblok (windows) of Teksteditor (Apple) voor de volgende vervangingen 1) komma > puntkomma en 2) punt > komma. Dat gaat best en kost wat tijd, maar dan moet slimmer kunnen ... dacht ik.

Het omzetten van de Windows en/of Appple systeemsettings wil ik liever niet, het tijdelijk instellen van de scheidingstekens bij de geavanceerde Opties voor Excel is omslachtig en vergeet ik ook weer terug te zetten.

Bestaat er een tooltje om de scheidingstekens in het csv-bestand voor/tijdens het importeren te vervangen?
Bijv. een .xlsm die het originele csv-bestand inleest, converteert en dan opslaat als (zelfdenaam).xlsx-bestand?
 
Waarom niet een eenmalige textquery ?
 
Bestaat er een tooltje om de scheidingstekens in het csv-bestand voor/tijdens het importeren te vervangen?

Power Query?
 
Kun je volledig automatiseren met bijv. Ultra-Edit
 
Zet onderstaande in een bestandje met de extensie .vbs en sleep je csv bestand er op.
Er wordt dan een nieuw bestand gemaakt van dat csv bestand waaarin de vervanging gedaan is zoals je in #1 beschrijft, met de prefix CVT_
Code:
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objVBS = objFSO.GetFile(WScript.ScriptFullName)

Pad     = objFSO.GetParentFolderName(objVBS)
FileIn  = WScript.Arguments(0)
FileOut = Pad & "\" & "CVT_" & split(FileIn,"\")(ubound(split(FileIn,"\")))

Set objReadFile  = objFSO.OpenTextFile (FileIn, 1)
Set objWriteFile = objFSO.CreateTextFile(FileOut,True)

strText = Replace(objReadFile.ReadAll, ",",";")
strText = Replace(strText, ".",",")

objWritefile.Write strText
objWritefile.Close
objReadFile.Close
 
Laatst bewerkt:
@edmoor. Sorry dat ik inbreek. Kan dit ook gebruikt worden om de punten in de bedragen om te zetten in komma's ?
Mijn pogingen daartoe om het script aan te passen faken (compilatiefout)
 
Maak een nieuwe post met verwijzing naar deze.
Plaats daarin een voorbeeld van je bestand en laat daar zien wat precies je bedoeling is.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan