Slik konverterer du XLS-fil til CSV i kommandolinje [Linux]
Konvertering av Microsoft Excel-ark (XLS-fil) til en kommaseparert fil (CSV) er relativt enkelt når du bruker et Office-produkt, men det kan være en kjedelig oppgave for programmerere å gjøre det på kommandolinjen. Situasjonen kan komme når du har en XLS-fil, og du må fylle databasen fra den etter formatering av dataene. Konvertering av XLS til CSV er den ideelle måten her som CSV er formatet som lett kan manipuleres på hvilket som helst språk, det være seg Shell, Perl, Ruby, Python eller Java. I dette innlegget vil vi se de beste måtene å konvertere XLS-filen til CSV, og vi vil også diskutere fordelene og fordelene ved å bruke disse metodene.
catdoc (i C)
Det første kommandolinjeverktøyet vi skal snakke om, er catdoc. Verktøyet er skrevet i C av VB Vagner.
1.1 Slik installerer du det:
Last ned verktøyet herfra. Gå til nedlastingskatalogen din og fjern den. Du kan bruke følgende kommandoer (hvis du står overfor problemet):
gunzip catdoc-0.94.2.tar.gz tar xvf catdoc-0.94.2.tar
Nå har vi en catdoc-0.94.2 katalog. Gå inn i denne katalogen og kjør følgende kommandoer for å installere den:
./configure gjør gjør installasjon
Installasjonen er en enkel prosess, og du bør ikke møte noe problem her.
1.2 Slik bruker du det:
Det er flere muligheter for å kjøre kommandoen. Jeg forteller alternativene som fungerer best for Microsoft Excel-konvertering:
xls2csv -x "Path_of_Your_XLS_File" -s cp1252 -d 8859-1> "Path_of_Your_CSV_File"
Merk alternativet " -s " og " -d " (står for kilde og destinasjon). Disse alternativene brukes til å spesifisere hvilken tegnkodning som brukes i kildefilen og hva som vil være tegnkodingen for destinasjonsfilen. Her har jeg brukt cpl1252 som er Microsoft tegnkoding og 8859-1 som brukes til vest-europeisk tegnsetting. Du kan bruke hvilke andre alternativer som er tilgjengelige ved å bruke hjelpekommandoen.
xls2csv --hjelp
1.3 Fordeler og ulemper:
Fordeler : Straight forward installasjon
Ulemper : Ingen selektiv konvertering i flere arks scenario, det dekker alle arkene som er tilstede i xls-filen (en løsning ville være å eksplisitt spesifisere en bunntekst i hvert ark og deretter bruke alternativet -b i kommandoen), problemer med få europeiske tegn, problem med datofelt (datofeltene er ødelagt i store tider), messer med anførselstegn.
xls2csv (i Perl)
Det andre verktøyet vi skal snakke om, er et Perl-skript xls2csv skrevet av Ken Prows i Perl.
2.1 Slik installerer du det:
Last ned skriptet her. Gunzip og tar det som vi gjorde i forrige seksjon, og gå den hentede katalogen og bruk følgende kommandoer for å installere den:
perl Makefile.PL gjør lage test installasjon
Husk dette Perl-skriptet bruker en rekke andre Perl-moduler:
Locale :: Recode Unicode :: Kart Regneark :: ParseExcel Tekst :: CSV_XS
Mens du installerer xls2csv, vil det gi feil at de nevnte perl-modulene ikke er installert. Det vil be deg om å laste ned modulene. Last ned og installer disse modulene når du blir spurt. Alle disse modulinstallasjonene krever rotasjonsrettigheter. Hvis du ikke har root-tilgang, bør du følge instruksjonene som er gitt her for å installere en Perl-modul.
2.2 Hvordan bruke det:
Følgende kommando kan brukes til å konvertere Microsoft Excel til csv:
xls2csv -x "Path_of_Your_XLS_File" -b cp1252 -w Arbeidsarknavn -c "Path_of_Your_CSV_File" -a 8859-1
Alternativ x og c (betyr xls og csv) brukes til å spesifisere inngangs- og utdatafiler der som b og a (betyr før og etter) brukes til å spesifisere respektive tegnkoding. Vi har samme tegnkoding som i tidligere verktøy.
2.3 Fordeler og ulemper:
Fordeler : Bra med vestlige europeiske tegnkonvertering og datafelt, støtter selektiv multilay-konvertering,
Cons : Flere Perl moduler må installeres, første celle burde ikke være tomt (ellers springer det hele raden), messer med anførselstegn
Det er også noen andre måter. Noen skript i Python og Java er også tilgjengelige for bruk, men de er ikke så gode som disse to diskuteres her. Jeg håper artikkelen løser problemet ditt. Spørsmål og forslag er alltid velkommen. Jubel :)