今天简单的介绍python关于文件IO的两种在爬虫中比较常用的方法:
1.获取csv文件中表格内的数据
2.将数据写入csv文件中
介绍一下csv,csv文件和平常用的excel是一样的,只是它既可以使用t制表也可使用‘,’来代替t进行换格。
一.获取csv文件表格内的数据
首先附上第一个代码:
import csv;
def test():
fread=open('D:DateCapturetest.csv')
read_line=csv.reader(fread)
for line in read_line:
print(line)
test()
我们在csv文件内存入几个值如下:
通过运行代码可以得到
python以行为单位进行读取csv文件
如果我们需要获取第一列数据仅仅改一下代码即可:
#获取第一列数据
print(line[0])
二.将数据写入csv文件中
f=open('D:DateCapturetest.csv','a',encoding='utf-8')
参数分别为:文件所在路径,写入方式,编码方式。
在这先列一下文件写入方式:
- r以只读方式打开文件。文件的指针将会放在文件的开头。这是默认模式。
- rb以二进制格式打开一个文件用于只读。文件指针将会放在文件的开头。这是默认模式。一般用于非文本文件如图片等。
- r+打开一个文件用于读写。文件指针将会放在文件的开头。
- rb+以二进制格式打开一个文件用于读写。文件指针将会放在文件的开头。一般用于非文本文件如图片等。
- w打开一个文件只用于写入。如果该文件已存在则打开文件,并从开头开始编辑,即原有内容会被删除。如果该文件不存在,创建新文件。
- wb以二进制格式打开一个文件只用于写入。如果该文件已存在则打开文件,并从开头开始编辑,即原有内容会被删除。如果该文件不存在,创建新文件。一般用于非文本文件如图片等。
- w+打开一个文件用于读写。如果该文件已存在则打开文件,并从开头开始编辑,即原有内容会被删除。如果该文件不存在,创建新文件。
- wb+以二进制格式打开一个文件用于读写。如果该文件已存在则打开文件,并从开头开始编辑,即原有内容会被删除。如果该文件不存在,创建新文件。一般用于非文本文件如图片等。
- a打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。也就是说,新的内容将会被写入到已有内容之后。如果该文件不存在,创建新文件进行写入。
- ab以二进制格式打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。也就是说,新的内容将会被写入到已有内容之后。如果该文件不存在,创建新文件进行写入。
- a+打开一个文件用于读写。如果该文件已存在,文件指针将会放在文件的结尾。文件打开时会是追加模式。如果该文件不存在,创建新文件用于读写。
- ab+以二进制格式打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。如果该文件不存在,创建新文件用于读
首先我使用追加模式做一下测试:
def test():
fread=open('D:DateCapturetest.csv')
f=open('D:DateCapturetest.csv','a',encoding='utf-8')
f.write("my python")
test()
可以看到
mypython已经被追加到后边
注意如果想继续想右表表格添加数据的时候需要使用','进行分割。
def test():
fread=open('D:DateCapturetest.csv')
f=open('D:DateCapturetest.csv','a',encoding='utf-8')
f.write("life is short"+','+"i use python!")
test()
效果如下:
上边就是两种写爬虫爬取小型数据网站时保存少量数据所用的IO
如果爬取大型网站就需要用到数据库了