Предположим, у нас есть файл CSVпитона панды прохождение 3 столбцов пар данных в петлю и MySQL запросов
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:
for i in CLIENT_ID
do
connect to MySQL
SELECT * FROM DATABASE_${CLIENT_ID}.TABLE WHERE PROPERTY IN ${PROPERTY_ID} AND FROM_YEAR = ${FROM_YEAR};
disconnect to MySQL
done
В реальном пути число, а не параметры:
for i in CLIENT_ID
do
connect to MySQL
SELECT * FROM DATABASE_9.TABLE WHERE PROPERTY IN ('3','4') AND FROM_YEAR = 2015;
disconnect to MySQL
done
Теперь решение я могу думать о том, чтобы превратить питон панда кадра в словарь:
df=pd.read_csv('test.csv')
df2=df.T.to_dict('list')
Но он возвращает словарь интересного ключа: значения пар:
индексация: (CLIENT_ID, PROPERTY_ID , FROM_YEAR)
{0: [5, 1,2015], 1: [6, 2,2015], 2: [9, 3,2015], 3: [9, 4,2015]}
Любое более простое решение для продолжения?
< < < < < < < < < < < < < < < < < < < < >>>>>>>>>>>>>>>>>>>>>>>>>> >>>>>
Привет @piRSquared,
спасибо за ваш ответ. Есть ли способ, которым мы можем сделать следующее?
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
так, что мы можем распечатать запросы SQL, как:
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;
Я пытался использовать список понимание:
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
Не могли бы вы просветить? Благодарю.
Жутко медленно, чтобы подключить/отключить внутри цикла! –