2012-06-13 3 views
0

저는 거의 파이썬에서 절대적인 초보자입니다. 그러나 어려운 작업을 관리해야합니다. 많은 자습서를 읽고이 웹 사이트에서 유용한 팁을 발견했지만이 질문은 지금까지 또는 적어도 검색 엔진에서 시도한 방식으로 묻지는 않았다고 생각합니다.오픈 URL을 CSV 파일에 저장

나는 csv 파일에 몇 가지 URL을 쓸 수있었습니다. 이제이 파일을 열고, URL을 열고, 사전에 내용을 쓸 수있는 스크립트를 작성하고 싶습니다. 하지만 실패했습니다 : 스크립트에서이 주소를 인쇄 할 수는 있지만 파일을 처리 할 수는 없습니다.

흥미롭게도 내 스크립트는 매번 동일한 오류 메시지를 보내지 않습니다. 여기에 마지막 : req.timeout = 타임 아웃 AttributeError : '목록'개체가

그래서 내 스크립트 몇 가지 문제에 직면 생각에는 속성 '시간 제한'이 없습니다 : 1 오른쪽을 URL을 엽니 다 나의 방법이다? 2 - 내가 사전을 만드는 방식에있어 잘못된 점은 무엇입니까?

다음은 내 시도입니다. 저를 도울 사람들에게 미리 감사드립니다!

import csv 
import urllib 

dict = {} 

test = csv.reader(open("read.csv","rb")) 

for z in test: 
    sock = urllib.urlopen(z) 
    source = sock.read() 
    dict[z] = source 
    sock.close() 
print dict 
+0

사전에 'dict'이라는 이름을 지정하지 말고, 내장 된'dict '을 그 할당으로 덮어 씁니다. 'urllib'를 사용하는 대신'urllib2'를 사용해야합니다. 이것이 당신의 문제를 해결할 지 확신 할 수 없습니다. – dav1d

답변

1

첫 번째 것은 그림자가 내장되어 있지 않습니다. dict이 새 사전을 만드는 데 사용되므로 사전의 이름을 다른 것으로 바꿉니다.

둘째, csv 판독기는 모든 열을 포함하는 행당 목록을 작성합니다. 명시 적으로 열을 urllib.urlopen(z[0]) # First column in the line으로 참조하거나 보통 open() 인 파일을 열고이를 반복합니다.

그 외에도, 그것은 나를 위해 작동합니다.

+0

이 빠르고 유용한 답변을 주셔서 감사합니다. 그것은 오류로 남아있는 것 같습니다 : 지금 나는 이것을 얻습니다 : dico [z] = source TypeError : unhashable type : 'list'아이디어가 있습니까? – user1453786

+0

Dicts는 숫자, 문자열, 튜플과 같이 변경할 수없는 유형 만 허용합니다. 목록은 변경할 수 있습니다. 당신은 z [0]이 될 url을 사용하기를 원할 것입니다. –

+0

그것은'z'가 목록이기 때문입니다. 'urlopen'을'z [0]'으로 바꾸는 것과 마찬가지로, 사전에'z [0]'을 추가하는 부분을 변경해야합니다. –

관련 문제