ich habe mir gedacht, das es an der Zeit ist mal eine Programmiersprache zu lernen. Ein Kollege hat mich da auf Python gebracht und bis jetzt muß ich sagen, das ich sie sehr übersichtlich finde - macht richtig Spaß sich damit zu beschäftigen.
Ich habe mir auch ein Projekt einfallen lassen, das quasi eine Datei per FTP von einem Host runterlädt. Schaut, ob eine SQLite DB Vorhanden ist und wenn ja diese dann löscht und dann wieder neu anlegt ( Ich bin Anffänger und weiß es nicht besser ).
Nach dem diese DB angelegt worden ist, sollen dann aus einer CSV Datei nur ausgewählte Spalten importiert werden. Quasi nur 3 aus 13 Spalten.
Angefangen habe ich bis jetzt so:
Code: Alles auswählen
# -*- coding: iso-8859-1 -*-
import sqlite3
import csv
import os
import sys
import ftplib
# FTP Abschnitt ANFANG
ftp = ftplib.FTP()
ftp.connect("Host")
ftp.login("Username", "Passwort")
ftp.set_pasv(True)
def handleDownload(block):
file.write(block)
filename = 'accountdata.csv'
file = open(filename, 'wb')
ftp.retrbinary('RETR ' + filename, handleDownload
file.close()ftp.quit()
# FTP Abschnitt ENDE
# SQLITE Abschnitt ANFANG
if os.path.isfile(r"C:\testumail.db"):
os.remove(r"C:\testumail.db")
cur = conn.cursor()
# Erstellen der Haupttables
sql = """
CREATE TABLE usermail (
username VARCHAR(8) NULL,
email VARCHAR(30) UNIQUE NOT NULL PRIMARY KEY,
company INTEGER NULL
)
"""
conn.execute(sql)
conn.commit()
# Erstellen des Indexes
sql = """
CREATE UNIQUE INDEX IDX_USERMAIL_ ON usermail(email ASC)
"""
conn.execute(sql)
conn.commit()
.....
.....
#Platz fuer den CSV Import
.....
conn.close()
Code: Alles auswählen
in_file = open(r"C:\baan_accountdata.csv", "r")
reader = csv.reader (in_file, delimiter=";")
for row in reader:
print (row)
in_file.close()
['4711', 'mmustermann', 'Max', 'Mustermann', 'mmustermann@musterdomain.org', 'xxx', 'xxx', 'Yes', 'NO']
Wie müßte ich jetzt ungefähr vorgehen, wenn ich nur eine bestimme Auswahl der Spalten importieren möchte ( Nummer, Username, E-Mail)?
Die CSV Datei hat auch Spaltenköpfe, die auch per ";" von einander getrennt sind.
Spaltenkopf 1 > Nummer
Spaltenkopf 2 > Username
Spaltenkopf 3 > Vorname
Spaltenkopf 4 > Nachname
Spaltenkopf 5 > E-Mail
....
Hölp!!!!!
Gruß
Brooklyn