Pythonプログラム内でファイルアドレスを処理し、それをMySQLに渡そうとしています。
MySQLにそのまま到達するために、アドレスに生の文字列を使用する必要があることがわかりました。これは機能します:
myFilePath = r"'D:\\folder\\file.csv'"
sqlStatement = r"LOAD data local INFILE %s INTO TABLE test ...);" % (myFilePath)
ただし、GUIを作成しているので、パス名を変更できるようにします。そのため、通常のファイルパスを正しい形式に変換しようとしていますが、それを実行できません。
どうすれば変換できますか
filePath = "D:\folder\file.csv"
上記のmyFilePathとまったく同じ形式に変換しますか?
私がこれまでに思いついた最高のものは
myFilePath = r'r"' + "'" + filePath + "'"
しかし、それでも既存の円記号を2倍にする必要があり、それを行う方法が見つかりません。私は次のように繰り返してみました:
myFilePath = ""
for i in range(len(filePath)):
if i == "\\":
myFilePath += "\\\\"
else:
myFilePath += filePath[i]
しかし、おそらくバックスラッシュのエスケープの性質のために、それは機能しません。生の文字列をもう一度使用するだけで、必要以上のバックスラッシュが作成され、深みがなくなります。
誰か助けてもらえますか?