python网络爬虫文档读取-CSV文件
来源:互联网 发布:java面向对象增删改查 编辑:程序博客网 时间:2024/06/05 19:02
进行网页采集的时候,你可能遇到CSV文件,也可能同时希望将数据保存为CSV格式。Python的csv库主要是面向本地文件,就是说你的csv文件得存储在你的电脑上,而在进行网络数据采集的时候,很多文件都是在线的。不过有一些方法可以解决这些问题:
1.手动把csv文件下载到本机,然后用python定位文件位置;
2. 写Python程序下载文件,读取之后再把源文件删除。
3. 从网上直接把文件读成一个字符串,然后转换成一个StringIO对象,使它具有文件的属性。
虽然前两个方法也可以使用,但是既然你可以轻易地把CSV文件保存在内存里,就不要再下载到本地占用磁盘空间了。直接把文件读取成字符串,然后封装成StringIO对象,让Python把它当做文件来处理,就不需要先保存为文件了。下面的程序就是获取一个CSV文件(http://pythonscraping.com/files/MontyPythonAlbums.csv),然后把每一行打印到命令行里:
from urllib.request import urlopenfrom io import StringIOimport csvdata=urlopen("http://pythonscraping.com/files/MontyPythonAlbums.csv").read().decode('ascii','ignore')dataFile=StringIO(data)csvReader=csv.reader(dataFile)for row in csvReader: print(row)
可以对结果进行更细致的拆分,使用代码如下:
from urllib.request import urlopenfrom io import StringIOimport csvdata=urlopen("http://pythonscraping.com/files/MontyPythonAlbums.csv").read().decode('ascii','ignore')dataFile=StringIO(data)csvReader=csv.reader(dataFile)for row in csvReader: print("The album \""+row[0]+"\" was released in "+str(row[1]))
执行结果如下:
from urllib.request import urlopenfrom io import StringIOimport csvdata=urlopen("http://pythonscraping.com/files/MontyPythonAlbums.csv").read().decode('ascii','ignore')dataFile=StringIO(data)dictReader=csv.DictReader(dataFile)print(dictReader.fieldnames)for row in dictReader: print(row)
阅读全文
2 0
- python网络爬虫文档读取-CSV文件
- python网络爬虫文档读取-PDF文件读取
- python读取csv文档
- python网络爬虫文档读取-微软Word文档和.docx
- python网络爬虫文档读取-纯文本读取
- Python-读取csv文件
- python读取CSV文件
- python 读取CSV 文件
- Python读取CSV文件
- Python读取CSV文件
- python读取csv文件
- python 读取csv文件
- python读取csv文件
- python读取csv文件
- Python读取复杂CSV文件
- python csv文件读取reader
- 关于Python读取CSV文件
- Python csv 的文件读取
- JAVA提高篇(32)--Java中对多线程的认识
- 优化照片后序
- Set源码分析
- MySql开启binlong
- Spring Boot中使用Swagger2构建强大的RESTful API文档
- python网络爬虫文档读取-CSV文件
- 最大子序列和问题的解
- 后序1
- 关于eval(data)和eval("("+data+")")
- 最近的体会
- Linux常用命令及常用法记录
- docker-compose最新版安装
- POJ 3259 虫洞(bellman-Ford)
- mybatis处理集合、循环、数组和in查询等语句的使用