2016-07-01 8 views
0

次のプログラムは存在しないファイルまたはディレクトリがありませんが、ファイルはCSVファイルを読み込むとMySQL挿入声明にそれを回すために使用されますファイル名を明示的に表示するのではなく、複数のファイルを処理するようにプログラムを作成しますが、正確なファイル名が表示されているので、ファイルが明確に存在する場合は、エラーIOError: [Errno 2] No such file or directory: 'Exact name of existing file.csv'と表示され続けます。上記のエラーが発生することなく、ディレクトリ内のファイルのグループに対して、次のコードを編集するにはどうすればよいですか?例外IOError

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() 

答えて

1

絶対パスは、そのディレクトリ内からスクリプトを実行していないことを示しています。

私はos.listdirがパスではなくファイル名だけを与えていると思っています。これらのファイル名は、スクリプトが実行されているディレクトリには存在しません。パスとファイル名を連結する必要があります。

openFile = open(path + '/' + csvFile) 
+0

私はそれについても考えていなかった、あなたは100%正しい。助けてくれてありがとう! – ThoseKind

+0

ようこそ@ThoseKind :) – AjahnCharles

関連する問題