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
Pillole
Articoli rapidi e pratici. fai clic qui.