CSV를 파이썬 사전에 읽을 수있는 코드를 작성 했으므로 잘 작동합니다. CSV로 사전을 다시 가져 오려고합니다. 나는 다음을 썼다 :CSV 로의 파이썬 사전
import csv
itemDict={}
listReader = csv.reader(open('/Users/broberts/Desktop/Sum_CSP1.csv','rU'), delimiter = ',', quotechar='|')
for row in listReader:
fID = row[0]
fClassRange = row[1]
fArea = row[2]
if itemDict.has_key(fID):
itemDict[fID][fClassRange]=fArea
else:
itemDict[fID] = {'5.0 to 5.25':'','5.25 to 5.5':'','5.5 to 5.75':'','5.75 to 6.0':'','6.0 to 6.25':'','6.25 to 6.5':'','6.5 to 6.75':'','6.75 to 7.0':'','7.0 to 7.25':'','7.25 to 7.5':'','7.5 to 7.75':'','7.75 to 8.0':'','8.0 to 8.25':'',}
itemDict[fID][fClassRange]=fArea
listWriter = csv.writer(open('/Users/broberts/Desktop/Sum_CSP1_output.csv', 'wb'), delimiter=',', quotechar='|', quoting=csv.QUOTE_MINIMAL)
for a in itemDict:
print a
listWriter.writerow(a)
마지막 블록에서 listWriter는 a를 인쇄 할지라도 CSV에 아무 것도 쓰지 않을 것이다. 나는 이것이 사전이 정렬되지 않은 사전과 관련이 있다고 생각한다. 필자는 실제로 fID와 각 fID (fClassRange ex. "5.0 to 5.25")와 연관된 키 각각을 작성해야하고 CSV에 대한 각 fClassRange와 연관된 값 fArea를 작성해야하지만 아직까지는 그렇게까지 얻지 못했습니다. 내 코드는 fID를 작성하는 방법을 알지 못하기 때문에.
나는 DictWriter
을 사용하여 조사했지만, 필요한 번호 이 무엇인지 알려주는 방법을 찾지 못했습니다.
는 케네스 리츠의 [tablib] (HTTP를 추천 할을 : // docs.python-tablib.org/en/latest/). 여기서 찾고있는 것 이상을 수행하므로 직접 응답이 아니므로이 라이브러리를 다른 사람들에게 추천하고 싶습니다. 크고 사용하기 쉬운 API가 있으며 csv, tsv, json, yaml 및 xlsx로 간편하게 직렬화 할 수 있습니다. – hangtwenty