需要用到unicodecsv模块,而不是使用csv模块,同时这种方法是将爬去下来的数据转为unicode码写入文件,在转为gbk码,这就存在unicode中有一些不可见字符,转换的时候python3是报错的,将encoding='gbk'改成encoding='gb18030'就可以了。
import unicodecsv as ucsv
import time
now_day = time.strftime('%Y-%m-%d', time.localtime())
data = [['行一列1','行一列2'],['行二列1','行二列2']]
with open('pachong_{}_.csv'.format(now_day), 'ab') as f:
write = ucsv.writer(f, encoding='gb18030',)
write.writerows(data)