dar*_*dog 4 python sql csv import dictionary
我仍然很擅长使用python从头开始编程,所以作为练习我虽然拿了一个我使用SQL处理的文件尝试使用Python复制功能.看来我想把我的(压缩的,zip)csv文件创建一个它的Dict(或者也许是一个dicts的词典?).当我使用dict reader时,我将第一行作为键而不是每列作为自己的键?例如
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
Run Code Online (Sandbox Code Playgroud)
产量:
>>> 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
Run Code Online (Sandbox Code Playgroud)
所以我正在寻找的是一个列MLS_ACCT和一个单独的一个PARCEL_ID等等,所以我可以做一些事情,如平均价格的所有项目包含KNOLLWOOD在SUBDIVISION字段中的另一个子部分按日期范围,销售日期等.
我知道如何用SQL做到这一点,但正如我所说,我想在这里获得一些Python技能.我最近几天一直在阅读,但还没有找到关于这种用例的任何非常简单的插图.指向所述文档的指针将不胜感激.我意识到我可以使用内存驻留SQL-lite但我的愿望是再次学习Python方法.我已经阅读了一些关于Numpy和Scipy并加载了sage但仍然找不到一些有用的插图,因为这些工具似乎专注于只有数字作为元素的数组,我需要做很多字符串匹配以及日期范围计算和比较.
最终我需要替换表中的值(因为我有脏数据),我现在通过一个包含所有脏变体的"翻译表"并为最终用途提供"干净"答案来做到这一点.
你确定这是一个逗号分隔值的文件吗?看起来这些线条被制表符分隔.
如果这是正确的,请在DictReader构造函数中指定制表符分隔符.
for row in csv.DictReader(items_file, dialect='excel', delimiter='\t'):
for key in row:
print 'key=%s, value=%s' % (key, row[key])
Run Code Online (Sandbox Code Playgroud)
资料来源:http://docs.python.org/library/csv.html