2013-07-17 2 views
0

Это стратегический вопрос.Общая стратегия: анализ данных/массивов в Python

Я только что завершил задачу в VBA и SQL, что я не знаю, как выполнить на Python, потому что я просто учился, и меня интересует, как будет выглядеть общий подход в Python.

У меня есть три таблицы/матрицы/массивы.

Имена и идентификаторы:

Name NID 
Amy 1 
Becky 2 
Cathy 3 
Dana 4 

Объекты с соответствующими именами и датой:

OID Names  Date 
1a Amy, Cathy 3/1/2012 
2x Dana  3/1/2011 
4s Amy, Becky 3/1/2010 

диапазоны дат, связанных с НДИ:

NID Start  End 
3  1/1/2012 1/1/2013 

Вопрос, который я хочу получить ответ на является: для каждого NID в последней матрице, какие OID являются релевантными (т.е. Имя появляется в объекте и дата fal ls в пределах диапазона дат, указанного для этого имени в итоговой матрице)?

Это широкий вопрос, но, если это возможно, будет экстатически выполнять эту задачу в python. Обратите внимание, что всего 1 и более 1000 различных имен могут быть сопоставлены с OID.

ответ

3

Почему бы вам не сохранить эти данные в базе данных SQL? SQL будет хорошо подходит для обработки операций, которые вы хотите выполнить, и похоже, что вы уже знакомы с ними. Это также имеет дополнительное преимущество переносимости, поэтому вы можете переключаться между VBA и Python, не переносив тонны кода.

Для MySQL я бы рекомендовал изучить модуль MySQLdb. Вы можете взглянуть на official documentation здесь, и я предлагаю посмотреть на this более удобный учебник.

Если вы хотите сделать быстрое прототипирование без установки сервера MySQL, вы можете использовать SQLite вместо этого. В этом случае я бы посмотрел на documentation для модуля sqlite3.

+0

[MySQLdb] (http://sourceforge.net/projects/mysql-python/) устарел (последнее обновление 2013 года). Вместо этого используйте [mysqlclient] (https://github.com/PyMySQL/mysqlclient-python). – ostrokach

Смежные вопросы