Предположим, у нас есть файл CSVкак использовать питона список понимание/словарь для печати каждого столбца в качестве уникальной переменной
PROPERTY_ID,CLIENT_ID,FROM_YEAR
1,5,2015
2,6,2015
3,9,2015
4,9,2015
Я пытаюсь передать каждое уникальное сочетание CLIENT_ID, PROPERTY_ID, FROM_YEAR в словарь или список , так что я могу поместить каждую пару "PROPERTY_ID, CLIENT_ID, FROM_YEAR" в запросах MySQL:
SELECT * FROM client_5 WHERE PROPERTY_ID = 1 and FROM_YEAR = 2015;
SELECT * FROM client_6 WHERE PROPERTY_ID = 2 and FROM_YEAR = 2015;
SELECT * FROM client_9 WHERE PROPERTY_ID = 3 and FROM_YEAR = 2015;
SELECT * FROM client_9 WHERE PROPERTY_ID = 4 and FROM_YEAR = 2015;
с переменной точки зрения:
1st round:
$CLIENT_ID,$PROPERTY_ID,$FROM_YEAR=5,1,2015
2nd round
$CLIENT_ID,$PROPERTY_ID,$FROM_YEAR=6,2,2015
3rd round
$CLIENT_ID,$PROPERTY_ID,$FROM_YEAR=9,3,2015
4th round
$CLIENT_ID,$PROPERTY_ID,$FROM_YEAR=9,4,2015
Я пытался использовать список понимание:
df = pd.read_csv("test.csv")
df2=df.apply(tuple, 1).unique().tolist()
for CLIENT_ID in [x[0] for x in df2]:
CLIENT_ID=CLIENT_ID.astype('str')
print "SELECT * FROM client"+CLIENT_ID
for PROPERTY_CODE in [y[1] for y in df2]:
PROPERTY_CODE=PROPERTY_CODE.astype('str')
print "WHERE PROPERTY_ID = "+PROPERTY_CODE
возвращает следующее, что не мы ищем:
SELECT * FROM client_5
WHERE FK_PROPERTY_ID = 1
WHERE FK_PROPERTY_ID = 2
WHERE FK_PROPERTY_ID = 3
WHERE FK_PROPERTY_ID = 4
Может кто просветит? Благодарю.
Почему вы используете 'pandas'? Только для анализа CSV? –
Просто перебирайте кадр данных, создавайте свои запросы и добавляйте их в заранее установленный 'set'. Когда вы закончите создание запросов, вы выполните их. «Set» устраняет дубликаты. –