csv python 部分列 python处理csv文件修改一列数据_python pd从第一行读csv文件


今天简单的介绍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文件内存入几个值如下:


csv python 部分列 python处理csv文件修改一列数据_python csv修改文件_02


通过运行代码可以得到


csv python 部分列 python处理csv文件修改一列数据_python pd从第一行读csv文件_03


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()


可以看到


csv python 部分列 python处理csv文件修改一列数据_python csv修改文件_04


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()


效果如下:


csv python 部分列 python处理csv文件修改一列数据_csv python 部分列_05


上边就是两种写爬虫爬取小型数据网站时保存少量数据所用的IO

如果爬取大型网站就需要用到数据库了