페이스 북 담당자의 이메일 주소를 Gmail/Android로 가져올 수있는 간단한 스크립트를 작성하고 있습니다. 제 입력 파일에 유니 코드 문자가 있습니다 : Jasmin L \ u00f3pez. 생성 된 CSV 출력 파일은 다음과 같다 :파이썬 CSV 인코딩
Andr\u00e9 Zzz,,,,,,,,,,,,,,,,,,,,,,,,,,fbcontacts ::: * My Contacts,* Home,[email protected]
Andr\u00e9ia Ggg,,,,,,,,,,,,,,,,,,,,,,,,,,fbcontacts ::: * My Contacts,* Home,[email protected]
Andr\u00e9s Bbb,,,,,,,,,,,,,,,,,,,,,,,,,,fbcontacts ::: * My Contacts,* Home,[email protected]
당신은 내가 인코딩에 문제가 볼 수 있듯이. Google 연락처 CSV 파일을 만들고 있지만 이름이 올바르게 표시되어야합니다.
def writecsv(self):
if self.outfile is not '':
#fh = open(self.outfile, 'wb')
#fh = codecs.open(self.outfile, "wb", "utf-8")
fh = codecs.open(self.outfile, 'wb', encoding="latin-1")
else:
fh = sys.stdout
csvhdlr = csv.writer(fh, quotechar='"', quoting=csv.QUOTE_MINIMAL)
csvhdlr.writerow("Name,Given Name,Additional Name,Family Name,Yomi Name,Given Name Yomi,Additional Name Yomi,Family Name Yomi,Name Prefix,Name Suffix,Initials,Nickname,Short Name,Maiden Name,Birthday,Gender,Location,Billing Information,Directory Server,Mileage,Occupation,Hobby,Sensitivity,Priority,Subject,Notes,Group Membership,E-mail 1 - Type,E-mail 1 - Value".split(','))
for contact in self.clist:
#csvhdlr.writerow(dict((vname, vtype, vnotes, vstereotype, vauthor, valias, vgenfile.encode('utf-8')) for vname, vtype, vnotes, vstereotype, vauthor, valias, vgenfile in row.iteritems()))
row = contact.fullname + ',,,,,,,,,,,,,,,,,,,,,,,,,,fbcontacts ::: * My Contacts,* Home,' + contact.email
csvhdlr.writerow(row.split(','))
어떤 생각하십시오 : 나는 CSV를 작성하는이 기능을 사용하고 있습니다? 내가 좋아하는 것처럼 내가 파이썬 내가 인코딩을 사용해야 할 때마다 아주 새로운 해요, 그것은 작동하지 않습니다 = (
도와 주셔서 감사합니다 많이!
감사를 당신의 빠른 대답을, 그것을 작동합니다 콘솔에서 훌륭하지만 CSV에 글을 쓰려고하면 UnicodeEncodeError : 'ascii'코덱은 U '\ xe3'을 3의 위치에 인코딩 할 수 없습니다. 서수는 범위에 없습니다 (128). 어떤 단서? –
고정, 고마워요 !!! –
이 문제를 해결하기 위해 무엇을 했습니까? –