解决14中csv用excel打开乱码的问题 ,其实就是在写csv的时候把 utf-8 改成 utf-8-sig

open('zhihu.csv','w',newline='',encoding='utf-8-sig')

这个和csv文件的bom有关,参考下面信息

下面是在练习14的基础上改一下编码,效果见下面截图

 1 #   爬取知乎大v张佳玮的文章“标题”、“摘要”、“链接”,并存储到本地文件
 2 #   URL  https://www.zhihu.com/people/zhang-jia-wei/posts
 3
 4 import requests
 5 import time
 6 import openpyxl
 7 import csv
 8
 9 headers = {
10     'accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3',
11     'accept-language': 'zh-CN,zh;q=0.9',
12     'cache-control': 'max-age=0',
13     'cookie':'__DAYU_PP=iJb63REJnnjIMmBvzNMV65ab0a6aae4f; q_c1=d75d908a13c44b95bd75f27578ad2088|1521641428000|1521641428000; _zap=bec28151-809b-4936-971a-d18f5255add0; tgw_l7_route=f2979fdd289e2265b2f12e4f4a478330; _xsrf=wQDRNSLBlRv3aimMzhUNyqg1BpLUnWAr; d_c0="ABDmoGi2RQ-PTp5SSFyQvDgz_QEjeQfCFgk=|1555156366"; capsion_ticket="2|1:0|10:1555156366|14:capsion_ticket|44:MTBhN2FkYjYyNWEyNDFjYWJiYTk2N2E1YTA1NDE4OTk=|084e15694c6993269b3aab564e9ea5d7983782f4b37dbc4537e000aa7b081901"',
14     'upgrade-insecure-requests': '1',
15     'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/73.0.3683.103 Safari/537.36'
16 }
17
18 res = requests.get('https://www.zhihu.com/api/v4/members/zhang-jia-wei/articles?include=data%5B*%5D.comment_count%2Csuggest_edit%2Cis_normal%2Cthumbnail_extra_info%2Cthumbnail%2Ccan_comment%2Ccomment_permission%2Cadmin_closed_comment%2Ccontent%2Cvoteup_count%2Ccreated%2Cupdated%2Cupvoted_followees%2Cvoting%2Creview_info%2Cis_labeled%2Clabel_info%3Bdata%5B*%5D.author.badge%5B%3F(type%3Dbest_answerer)%5D.topics&offset=0&limit=20&sort_by=created',headers=headers)
19
20 totals = res.json()['paging']['totals']
21 num = 0
22
23 #   excel 表头部分
24
25 wb = openpyxl.Workbook()
26 sheet = wb.active
27 sheet.title = '张佳玮的文章'
28 sheet['A1'] = '编号'
29 sheet['B1'] = '标题'
30 sheet['C1'] = '创建时间'
31 sheet['D1'] = '链接'
32 sheet['E1'] = '摘要'
33
34 #   csv 表头部分
35
36 with open('zhihu.csv','w',newline='',encoding='utf-8-sig') as csv_file:
37     writer = csv.writer(csv_file)
38     writer.writerow(['编号','标题','创建时间','链接','摘要'])
39
40     for offset in range(0,21,20):
41         res = requests.get('https://www.zhihu.com/api/v4/members/zhang-jia-wei/articles?include=data%5B*%5D.comment_count%2Csuggest_edit%2Cis_normal%2Cthumbnail_extra_info%2Cthumbnail%2Ccan_comment%2Ccomment_permission%2Cadmin_closed_comment%2Ccontent%2Cvoteup_count%2Ccreated%2Cupdated%2Cupvoted_followees%2Cvoting%2Creview_info%2Cis_labeled%2Clabel_info%3Bdata%5B*%5D.author.badge%5B%3F(type%3Dbest_answerer)%5D.topics&offset={}&limit=20&sort_by=created'.format(offset),headers=headers)
42         html = res.json()
43         items = res.json()['data']
44         for item in items:
45             num = num + 1
46             print(num,end='\t')
47             timeArray = time.localtime(item['created'])
48             print(time.strftime("%Y-%m-%d %H:%M:%S",timeArray),end='\t')
49             print(item['title'])
50
51             #   excel 内容部分
52             sheet.append([num,item['title'],time.strftime("%Y-%m-%d %H:%M:%S",timeArray),item['url'],item['excerpt']])
53
54             #   csv 内容部分
55             writer.writerow([num,item['title'],time.strftime("%Y-%m-%d %H:%M:%S",timeArray),item['url'],item['excerpt']])
56
57 #   excel 保存到文件
58 wb.save('zhihu.xlsx')

转载于:https://www.cnblogs.com/www1707/p/10720594.html

15、解决14中csv用excel打开乱码的问题 open('zhihu.csv','w',newline='',encoding='utf-8-sig')...相关推荐

  1. python写入csv 用Excel打开乱码的解决方法

    主要是因为编码格式不对,不能使用encoding='utf-8',改为encoding='GB18030'即可 下面展示样例. with open('1.csv', 'w', newline='', ...

  2. java输出csv文件excel打开乱码问题

    首先明确excel只能直接打开ANSI编码的csv文件,如果csv文件是utf-8编码的,excel打开会乱码.所以大家如果出现excel打开csv文件乱码的情况,其原因基本上都是编码不是ANSI所致 ...

  3. php 0xef 0xbb 0xbf,utf-8编码的csv文件,用excel打开乱码,解决办法,在输出前加 0xEF,0xBB,0xBF三个char...

    转自 http://blog.csdn.net/zcmssd/article/details/6086649 是由于输出的CSV文件中没有BOM. 什么是BOM? 在UCS 编码中有一个叫做" ...

  4. 写csv解决Excel打开乱码问题

    写csv解决以文本和Excel打开乱码问题 public static File createCSVFile(List<?> exportData, LinkedHashMap map, ...

  5. 解决Arcgis10.2.2中dbf文件用EXCEL打开乱码问题

    解决Arcgis10.2.2中dbf文件用EXCEL打开乱码问题 参考文章: (1)解决Arcgis10.2.2中dbf文件用EXCEL打开乱码问题 (2)https://www.cnblogs.co ...

  6. csv文件用Excel打开乱码如何处理

    .csv文件用Excel打开乱码如何处理 单击右键,在打开方式中选择"记事本"打开: 点击"文件",选择"另存为",在右下角"编码 ...

  7. 解决opencv中cv2.VideoCapture()函数打开USB视频慢的问题

    解决opencv中cv2.VideoCapture()函数打开USB视频慢的问题!!! cv2.VideoCapture(0)打开电脑自带摄像头比cv2.VideoCapture(1)打开usb慢好多 ...

  8. pandas处理to_csv后excel打开乱码

    问题: 用pandas读取origin.csv数据处理后,to_csv('utf-8')生成 new.csv后,用excel打开乱码,用notepad查看原始csv编码'utf-8',在notepad ...

  9. Activiti保存.png 流程图片文件且解决idea中保存图片时显示中文乱码的解决方法

    Activiti保存.png 流程图片文件且解决idea中保存图片时显示中文乱码的解决方法 Eclipse 工具中的操作 流程图片生成的两种方式: 使用 activiti-designer 设计流程图 ...

最新文章

  1. IOS开发基础知识--碎片34
  2. 无限循环小数转化为分数形式
  3. SiamMask算法详解
  4. 推荐系统实例-基于矩阵分解
  5. TC中编辑程序快捷键
  6. 5.1声道定位测试音源(PCM-WAV)定位测试音源(PCM-WAV)
  7. python3GUI--下载抖音小姐姐所有无水印视频(附源码)
  8. ASC20-21超算大赛开战——有一群年轻人正在用超算的力量改变世界
  9. 六,iOS中的金额格式化和金额大小写转换
  10. nyoj-891-找点
  11. java实现一元多项式减法_一元多项式 加法 减法 乘法
  12. 正确的境外银行攻略:个人如何开立离岸账户?
  13. 手动编译源代码安装GR GSM
  14. 之江汇空间如何加音乐背景_互动课堂的使用|之江汇互动课堂如何使用?之江汇互动课堂使用方法...
  15. 【STM32F407】第8章 ThreadX NetXDUO之TCP服务器
  16. 智能农业大棚控制设计
  17. 不管是大神还是新手,墙裂推荐7个实用C4D插件,成为C4D高效玩家
  18. 大学生居家上网课,“最佳拍档”找到了吗?
  19. 一行代码搞定Http请求,强得离谱~
  20. 中国各地理分界线高清图

热门文章

  1. [NOTE] Linux环境变量
  2. python调用父类对象的几个方法
  3. RPM 包相关命令详解
  4. Linux常见命令汇总(不定期更新)
  5. 华为xs第几批升级鸿蒙,华为和荣耀老机型用户有福:确定能批量升级到鸿蒙系统!...
  6. Microsoft Artificial Intelligence Conference(2018.05.21)
  7. Codeforces 1028C(面积并/思维)
  8. Python爬虫常用模块
  9. 屏幕的遮挡层,js得到屏幕宽高、页面宽高 (window.screen.availHeight)等--
  10. 4.类型设计规范《.NET设计规范》