爬虫天气数据是 js 数据怎么录入 excel 啊?

2017 年 10 月 5 日
 jin6220
http://tianqi.2345.com/t/wea_history/js/56294_20112.js
4495 次点击
所在节点    Python
22 条回复
qiayue
2017 年 10 月 5 日
掐头去尾就是 json
112Cookie
2017 年 10 月 5 日
python 直接写 xls。。
jin6220
2017 年 10 月 5 日
@qiayue 先把首尾的 var weather_str=、分号去掉,变成 json,再存入表格里吗
好久没用过把入门级的那点知识也忘了差不多了
qiayue
2017 年 10 月 5 日
json 解码之后,再按照 xls 格式去写
zagreb
2017 年 10 月 5 日
jin6220
2017 年 10 月 5 日
@zagreb 谢谢 虽然看不懂啊 ,业余非专业,现在去找找别人的代码看怎么处理类似情况的。
8qwe24657913
2017 年 10 月 5 日
@qiayue #1 然而单引号……好在数据里应该不会出现单双引号,所以无脑 replace 大概也没问题……
asuraa
2017 年 10 月 5 日
保存 csv 不就行了?
table 标签嘛
shenyu1996
2017 年 10 月 5 日
直接用字符串模板写 cvs 逗号分隔, 好像 /d/n 换行来着
jin6220
2017 年 10 月 5 日
@luodaoyi
找了个 csv 案例,
import csv
with open('names.csv','w') as csvfile:
fieldnames = ['first_name','last_name']
writer = csv.DictWriter(csvfile, fieldnames=fieldnames)
writer.writeheader()
writer.writerow({'first_name': 'Baked', 'last_name': 'Beans'})
writer.writerow({'first_name': 'Lovely', 'last_name': 'Spam'})
writer.writerow({'first_name': 'Wonderful', 'last_name': 'Spam'})

但是,天气那个 js 数据怎么每一天数据单独写入一行啊?

fieldnames = ['Ymd',‘ bWendu',’ yWendu',’ fengxiang','fengli ’]
然后继续把每个日期的数据像字典这样放进吗?
‘ ymd:'2011-02-01',’ bWendu ‘:'9℃',’ yWendu ‘:'0℃',’ tianqi ‘:'多云',’ fengxiang ‘:'北风',’ fengli ‘:'微风'
就是不知道如何完全自动化。。。
dawnven
2017 年 10 月 5 日
可以正则提取成 csv
hcymk2
2017 年 10 月 5 日
明显不是 json ,而是 jsonp.
asuraa
2017 年 10 月 5 日
@jin6220 正则提取 json,然后写入就行了。。。
python 直接用 xlwt 写就行了
ZXCDFGTYU
2017 年 10 月 5 日
掐头去尾 json+1
jin6220
2017 年 10 月 5 日
import xlwt
#创建 workbook 和 sheet 对象
workbook = xlwt.Workbook() #注意 Workbook 的开头 W 要大写
sheet1 = workbook.add_sheet('sheet1',cell_overwrite_ok=True)
sheet2 = workbook.add_sheet('sheet2',cell_overwrite_ok=True)
#向 sheet 页中写入数据
sheet1.write(0,0,'this should overwrite1')
sheet1.write(0,1,'aaaaaaaaaaaa')
sheet2.write(0,0,'this should overwrite2')
sheet2.write(1,2,'bbbbbbbbbbbbb')

但实际上数据输入不可能是手一个一个录入啊,http://tianqi.2345.com/t/wea_history/js/56294_20112.js ,那么多数据,真不知道怎么自动化输入,这种挫败感让人很让人伤心加恼火。。。
sola97
2017 年 10 月 5 日
@jin6220 一组数据往里添一行就行了,不用定坐标
mkeith
2017 年 10 月 5 日
那么多的天气 API 非要用这个啊?
y835L9DyC5XD09kq
2017 年 10 月 5 日
搞成 json 用 python 写进 excel
Sapp
2017 年 10 月 5 日
这不就是 json 吗?
geelaw
2017 年 10 月 5 日
两个命令用管道连接一下即可

ConvertFrom-Json | ConvertTo-Csv

然后 Excel 打开,另存为 xls(x) 即可。

如果想直接弄成 xls(x),可以用 Excel.Application 对象操作 Excel https://msdn.microsoft.com/en-us/vba/excel-vba/articles/application-object-excel

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://study.congcong.us/t/395519

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX