Seite 1 von 3

xlsx bzw xls zu cvs konvertieren?

Verfasst: 06.02.2022 20:05
von Zerosurf
Hallo,
unter Python hab ich es geschaft ohne Microsoft Office eine Excel Datei in eine CSV-Datei zu konvertieren - falls wer Interesse an dem Code hat:

Code: Alles auswählen

from tkinter import filedialog
from tkinter.filedialog import askopenfilename
from tkinter.filedialog import asksaveasfilename
from sys import exit
import openpyxl
import pandas as pd

if filename1 := askopenfilename(title="Choose Excel File", filetypes=[("Excel Files","*.xlsx"), ("Excel Files","*.xls")]):
    read_file = pd.read_excel (filename1)
else:
    exit()
f = filename1.split("/")[-1].split(".")[0]
if filename2 := filedialog.asksaveasfilename(initialfile = f, defaultextension=".csv", title="Save CSV File", filetypes=[("CSV File","*.csv")]):
    read_file.to_csv (filename2, index = None, header=True)
else:
    exit()
exit()
Jetzt wollte ich fragen, wie mach ich das am besten mit Purebasic?

Re: xlsx zu cvs konvertieren?

Verfasst: 06.02.2022 22:39
von ccode_new
Hi!

Aus C-Sicht wäre dies:
https://github.com/libxls/libxls
ein Anfang.

Ob es mit: COMatePLUS geht?
https://workupload.com/file/VVcXjQWeYgF

Re: xlsx zu cvs konvertieren?

Verfasst: 08.02.2022 12:26
von Zerosurf
Hab mir COMatePLUS angeschaut, aber nirgendwo eine Funktion zum Konvertieren nach CVS gefunden.

Re: xlsx zu cvs konvertieren?

Verfasst: 08.02.2022 13:12
von ccode_new
Am besten du nutzt irgend ein gutes Konsolentool zum konvertieren.
Oder du bleibst bei der Python-Lösung.
Der PureBasic-Zoo beinhaltet leider noch keine Pandas.
:)

Anbei:
Diese Lib:
https://www.libxl.com
ist auch sehr gut.
(Aber lizenztechnisch problematisch und außerdem müsste man sie erst portieren.)

Re: xlsx zu cvs konvertieren?

Verfasst: 08.02.2022 13:36
von Zerosurf
Ich werds mal weiter mit COMatePLUS probieren.
Falls wer Tipps dafür hat - da wäre ich sehr dankbar dafür!
:)

Re: xlsx zu cvs konvertieren?

Verfasst: 08.02.2022 15:19
von mk-soft
Es gibt bestimmt viele Beispiele über VB-Script.

Hier gibt das Module für ActiveScript: https://www.purebasic.fr/english/viewtopic.php?t=71399

Re: xlsx zu cvs konvertieren?

Verfasst: 08.02.2022 15:30
von Kiffi
COMatePLUS und ActiveScript würden nur funktionieren, wenn Excel auch auf dem Rechner installiert ist. Und das ist bei Zerosurf ja nicht der Fall.
Zerosurf hat geschrieben:unter Python hab ich es geschaft ohne Microsoft Office eine Excel Datei in eine CSV-Datei zu konvertieren

Re: xlsx zu cvs konvertieren?

Verfasst: 08.02.2022 15:32
von Zerosurf
Kiffi hat geschrieben: 08.02.2022 15:30 COMatePLUS und ActiveScript würden nur funktionieren, wenn Excel auch auf dem Rechner installiert ist. Und das ist bei Zerosurf ja nicht der Fall.
...ach deswegen gibt es bei mir immer Fehlermeldungen!!! :lol: :lol: :lol:

Re: xlsx zu cvs konvertieren?

Verfasst: 08.02.2022 15:50
von Kiffi
Kann sein, dass es möglich ist, die Excel-Datei mittels ADO als Datenbank zu öffnen. Stichwörter 'ADODB' und 'OLEDB'.

Ich bin aber auch schon zu lange aus dem Thema raus und mir nicht sicher, ob das so ohne Office-Installation funktioniert.

Re: xlsx zu cvs konvertieren?

Verfasst: 08.02.2022 18:21
von mk-soft
Ja,
aber nur als 32bit Version. Die Datenbank Treiber für excel, csv, etc sind bei Windows als 32 bit Version schon immer mit installiert.

Für 64bit kann man aber die Treiber auch nach installieren.

Link: https://www.microsoft.com/en-us/downloa ... x?id=54920

Dann kann man wieder mit VB-Script und dem Modul ActiveScript die Adodb Objekte direkt verwenden ;)
Oder mit odbcad32 eine DSN erstellen und dann mit PB Datenbank Funktionen arbeiten.