파일을 데이터베이스에 삽입 할 수 있도록 파일을 포맷하려합니다.이 파일은 원래 압축되어 있으며 크기는 1.3MB입니다.parse.unquote_plus TypeError
: 나는이 프로그램을 실행하면Village_Parsed = Village_Parsed + urllib.parse.unquote_plus(line);
file "C:\Python31\lib\urllib\parse.py", line 404, in unquote_plus string = string.replace('+', ' ') TypeError: expected an object with the buffer interface
Village = gzip.open(Root+'\\data'+'\\' +str(Newest_Date[0])+'\\' +str(Newest_Date[1])+'\\' +str(Newest_Date[2])\
+'\\'+str(Newest_Date[3])+' village.gz');
Village_Parsed = str
for line in Village:
Village_Parsed = Village_Parsed + urllib.parse.unquote_plus(line);
print(Village.readline());
내가이 오류 :
398,%7EAnoniem+001%7E,543,480,7525010,1775,0
코드가 어떻게 보이는지 이것은이 파일을 구문 분석 : 각 라인은 다음과 같이 보입니다
무엇이 잘못 되었습니까? 사전에 도움을 주셔서 감사합니다.
@JFSebastian : 실제로 해 보았습니까? OP와 정확히 같은 오류가 발생합니다 ... 초기화 문제와 별개로 코드는 기능상으로 반환되는 바이트 객체와 같습니다. –
@ John Machin : 나는 그것을 시도했다 (지금). 'unquote_plus_from_bytes'를 찾을 수 없으므로 명시적인'bytes.decode' 메소드에 의존해야합니다. – jfs
감사합니다. 솔루션이 훌륭하게 작동하고 다른 실수 (Machin 및 Sebestian)를 지적 해 주셔서 감사합니다. ascii가 사용 된 문자 인코딩인지는 확실하지 않지만 볼 수있는 한 문제없이 작동합니다. – user202459