mydataテーブルの name (integer(10))と city (integer(10))のID であるnameid_cityid.txt、 nameid および cityidという名前のディレクトリに多数のファイルがあります。
次の解決策は機能しますが、fetchall は「L」をフェッチし、nameid、cityid のファイル名タプルは文字列であるため、型変換を行っています。
同じことを行うためのpythonicまたはよりエレガントな方法を提案できれば、それは私とコミュニティにとって素晴らしいことです!
私が達成しようとしていること: データベースにレコードがないディレクトリからそれらのファイルを見つけて、そのファイルを解析/移動/削除するなどの操作を行います。
MySQL テーブル mydata :
nameid cityid
15633 45632
2354 76894
パイソン:
for pdffile in os.listdir(filepath):
cityid, nameid = pdffile.strip('.txt').split('_')[0], pdffile.strip('.txt').split('_')[1]
cursor.execute("select cityid, nameid from mydata")
alreadyparsed = cursor.fetchall()
targetvalues = ((str(cityid), str(nameid)) for cityid, nameid in alreadyparsed)
if (int(cityid), int(nameid)) in alreadyparsed:
print cityid, nameid, "Found"
else:
print cityid, nameid, "Not found"