Я все еще довольно новичок в использовании python для программирования с нуля, так что в качестве упражнения я решил взять файл, который обрабатываю с помощью SQL, и попытаться дублировать функциональность с помощью Python.Кажется, я хочу взять мой (сжатый, zip) CSV-файл и создать его из Dict (или, может быть, из-за dict?).Когда я использую читатель dict, я получаю 1-ю строку в качестве ключа, а не каждый столбец в качестве своего собственного ключа?Например,
import csv, sys, zipfile
sys.argv[0] = "/home/tom/Documents/REdata/AllListing1RES.zip"
zip_file = zipfile.ZipFile(sys.argv[0])
items_file = zip_file.open('AllListing1RES.txt', 'rU')
for row in csv.DictReader(items_file,dialect='excel'):
pass
Выход:
>>> for key in row:
print 'key=%s, value=%s' % (key, row[key])
key=MLS_ACCT PARCEL_ID AREA COUNTY STREET_NUM STREET_NAME CITY ZIP STATUS PROP_TYPE LIST_PRICE LIST_DATE DOM DATE_MODIFIED BATHS_HALF BATHS_FULL BEDROOMS ACREAGE YEAR_BUILT YEAR_BUILT_DESC OWNER_NAME SOLD_DATE WITHDRAWN_DATE STATUS_DATE SUBDIVISION PENDING_DATE SOLD_PRICE,
value=492859 28-15-3-009-001.0000 200 JEFF 3828 ORLEANS RD MOUNTAIN BROOK 35243 A SFR 324900 3/3/2011 2 3/4/2011 12:04:11 AM 0 2 3 0 1968 EXIST SPARKS 3/3/2011 11:54:56 PM KNOLLWOOD
Итак, я ищу столбец для MLS_ACCT
и отдельный для PARCEL_ID
и т. Д., Чтобы я мог что-то сделатьнапример, средние цены по всем элементам, которые содержат KNOLLWOOD
в поле SUBDIVISION
С дополнительным подразделом по диапазону дат, дате продажи и т. д.
Я хорошо знаю, как это сделать с SQL, но, как я уже сказал, яя пытаюсь получить некоторые навыки Python здесь.Я читаю последние несколько дней, но мне еще не удалось найти каких-либо очень простых иллюстраций по этому виду использования.Указатели на упомянутые документы будут оценены.Я понимаю, что мог бы использовать резидентную память SQL-lite, но опять-таки мое желание - изучить подход Python. Я читал кое-что о Numpy и Scipy и загрузил sage, но все еще не могу найти некоторые полезные иллюстрации, так как эти инструменты, кажется, сосредоточены намассивы только с числами в качестве элементов, и у меня есть много совпадений строк, которые мне нужно сделать, а также вычисления и сравнения диапазонов дат.
В конце концов мне нужно будет заменить значения в таблице (так как у меня есть грязные данные), я делаю это сейчас, имея «таблицу перевода», которая содержит все грязные варианты и предоставляет «чистый» ответ для окончательногоиспользовать.