PowerShell: snippet per cambiare il delimitatore di un file CSV

| |

Excel è una strana bestia, è quel programma su cui la tipica azienda italiana (ma non solo) fa affidamento, e senza il quale difficilmente vivrebbe (spesso senza conoscere le alternative che il mercato mette a disposizione). Niente male per un prodotto nato dalle ceneri di Multiplan e pubblicato in esclusiva per Macintosh, vero? Ma non andiamo poi troppo off-topic. Quello di oggi è il più classico tra gli snippet: un pezzo di codice che può tornarti utile per eseguire un’operazione ripetitiva, noiosa, necessaria però quando quotidianamente hai a che fare con file CSV e necessità poi di lavorarli su Excel.

Il delimitatore dei file CSV è la virgola (da sigla stessa: Comma Separated Value)

function Update-CSVDelimiter {
param (
[string]$FilePath,
[string]$Encoding = "ISO-8859-1", # Default encoding, can be changed
[switch]$ToComma, # Switch to convert ";" to ","
[switch]$ToSemicolon # Switch to convert "," to ";"
)
# Check if the specified file exists
if (Test-Path $FilePath) {
try {
# Read the file content with the specified encoding
$content = Get-Content -Path $FilePath -Encoding $Encoding
# Determine the direction of the conversion
if ($ToComma) {
# Convert ";" to ","
$newContent = $content -replace ';', ','
} elseif ($ToSemicolon) {
# Convert "," to ";"
$newContent = $content -replace ',', ';'
} else {
# Default behavior: Convert "," to ";"
$newContent = $content -replace ',', ';'
}
# Write the modified content back to the file with the same encoding
$newContent | Out-File -FilePath $FilePath -Encoding $Encoding -Force
Write-Output "Conversion successfully completed."
} catch {
# Handle any errors that occur during the process
Write-Output "An error occurred: $_"
}
} else {
# Inform the user if the file does not exist
Write-Output "The specified file does not exist."
}
}

In caso di dubbi o suggerimenti per migliorare quanto fatto, come sempre, hai l’area commenti a tua totale disposizione :-)

#KeepItSimple

Correzioni, suggerimenti? Lascia un commento nell'apposita area qui di seguito o contattami privatamente.
Ti è piaciuto l'articolo? Offrimi un caffè! ☕ :-)

L'articolo potrebbe non essere aggiornato

Questo post è stato scritto più di 5 mesi fa, potrebbe non essere aggiornato. Per qualsiasi dubbio lascia un commento!

Pillole

Le pillole sono articoli di veloce lettura dedicati a notizie, script o qualsiasi altra cosa possa essere "divorata e messa in pratica" con poco. Uno spazio del blog riservato agli articoli "a bruciapelo"!
Se vuoi leggere le altre pillole fai clic qui.

Subscribe
Notify of
guest

This site uses Akismet to reduce spam. Learn how your comment data is processed.

0 Commenti
Oldest
Newest Most Voted
Inline Feedbacks
View all comments