現在、スクリプトは .txt ファイルを FTP サイトからローカル ディレクトリにダウンロードし (ディレクトリに既にファイルが含まれているかどうかを確認した後)、各ファイルを (個別の) .csv に変換します。mysql データベースに移植するデータが必要です。
私が問題を抱えている部分は次のとおりです。パスが動的でない場合(つまり、R:\ path \ filename)、スクリプトの2番目の部分(ballotreader)を実行すると、ファイルの行がSQLにインポートされます動作し、SQL テーブルが作成されます。パスが動的な場合 (つまり、'R:\path\'+filename)、何も設定されません。助言がありますか?
for filename in filenames:
local_filename = os.path.join('R:\\path', filename)
if os.path.isfile(local_filename) is False:
print 'New file found.'
file = open(local_filename, 'wb')
ftp.retrbinary("RETR " + filename, file.write, 8*1024)
file.close()
print 'Downloaded '+filename+' file'
txt_file = r""+filename
csv_file = r""+filename+".csv"
in_txt = csv.reader(open(txt_file, "rb" ),delimiter = '|')
outcsv = csv.writer(open(csv_file,'wb'))
outcsv.writerows(in_txt)
with open("R:\\path"+csv_file,'rb') as csv_input:
ballotreader = csv.reader(csv_input, delimiter=',',quotechar ='|')
for row in ballotreader:
cursor = db.cursor()
if row[1] > 0: