Das folgende Programm wird verwendet, um eine CSV-Datei zu lesen und sie in eine MySQL einfügen Anweisung drehen:IOError Keine solche Datei oder das Verzeichnis, aber Datei existiert
import csv
openFile = open('test.csv', 'r')
csvFile = csv.reader(openFile)
header = next(csvFile)
headers = map((lambda x: "'"+x+"'"), header)
insert = 'INSERT INTO Table (' + ", ".join(headers) +", 'time_stamp'" +") VALUES "
for row in csvFile:
values = map((lambda x: "'"+x.strip()+"'"), row)
print (insert +"("+ ", ".join(values) +", getdate());")
openFile.close()
Ich habe die folgenden Änderungen in einem Versuch gemacht Holen Sie das Programm, um mit mehreren Dateien zu arbeiten, anstatt nur den Dateinamen explizit aufzulisten, aber erhalten Sie einen Fehler, IOError: [Errno 2] No such file or directory: 'Exact name of existing file.csv'
, wenn die Datei eindeutig existiert, da es den genauen Dateinamen druckt. Wie kann ich den folgenden Code bearbeiten, um ihn für eine Gruppe von Dateien in einem Verzeichnis zu verwenden, ohne diesen Fehler zu erhalten?
import csv, os
path = 'C:/Users/August/Desktop/TripDetailFiles/test'
for csvFile in os.listdir(path):
if csvFile.endswith('.csv'):
openFile = open(csvFile)
readFile = csv.reader(openFile)
header = next(readFile)
headers = map((lambda x: "'"+x+"'"), header)
insert = 'INSERT INTO Table (' + ", ".join(headers) +", 'time_stamp'" +") VALUES "
for row in csvFile:
values = map((lambda x: "'"+x.strip()+"'"), row)
print (insert +"("+ ", ".join(values) +", getdate());")
openFile.close()
Ich habe nicht einmal darüber nachgedacht, Sie waren zu 100% korrekt. Danke für die Hilfe! – ThoseKind
Mehr als willkommen @ThoseKind :) – AjahnCharles