VB.net 2010 视频教程 VB.net 2010 视频教程 python基础视频教程
SQL Server 2008 视频教程 c#入门经典教程 Visual Basic从门到精通视频教程
当前位置:
首页 > temp > C#教程 >
  • Python爬虫基础讲解(十一):数据持久化——CSV模块简介

1. 写入文件

我们把需要写入的数据放到列表中,写文件时会把列表中的元素写入到csv文件中。

复制代码
import csv

ll = [[1,2,3,4],
     [1,2,3,4],
     [5,6,7,8],
     [5,6,7,8]]
with open( ' example1.csv', 'w' , newline=' ') as csvfile:
    """
    delimiter:分割符
    """
    
    spamwriter = csv.writer(csvfile,delimiter=', ')
    for 1 in 11:
        spamwriter.writerow([1,2,3,4])
复制代码

 

可能遇到的问题:直接使用这种写法会导致文件每一行后面会多一个空行。使用newline=''解决

使用open直接写入

复制代码
with open( 'examp1e2.csv', 'w') as csvfile:
    """
    delimiter:分割符
    """
    for 1 in 17:
        csvfile.write(",".join(map(str,1)))
        csvfile.write( ' \n ')
复制代码

 

2. 读取文件

import csv

with open( ' example.csv ' , encoding='utf-8' ) as f:
    csv_reader = csv.reader(f)
    for row in csv_reader:
        print(row)

 

fi7e: example.csv csv数据


 

Python爬虫基础讲解:数据持久化——CSV模块简介

 


 

默认的情况下,读和写使用逗号做分隔符(delimiter),当遇到特殊情况是,可以根据需要手动指定字符,例如:

with open( ' example.csv', encoding='utf-8' ) as f:
    reader = csv.reader(f,delimiter=' , ')
    for row in reader:
        print(row)

 

上述示例指定冒号作为分隔符

有点需要注意的是,当用writer写数据时,None 会被写成空字符串,浮点类型会被调用repr()方法转化成字符串。所以非字符串类型的数据会被str()成字符串存储。所以当涉及到unicode 字符串时,可以自己手动编码后存储或者使用csv提供的unicodewriter 。

3. 写入与读取字典

csv还提供了一种类似于字典方式的读写,方式如下:

Python爬虫基础讲解:数据持久化——CSV模块简介

 

其中fieldnames指定字典的 key值,如果reader里没有指定那么默认第一行的元素,在writer里一定要指定这个。

复制代码
#%%写

import csv

with open( ' names.csv', 'w ') as csvfile:
    fieldnames = ['first_name ', 'last_name ']
    writer = csv.Dictwriter(csvfi1e,fieldnames=fieldnames)

    writer.writeheader()
    writer.writerow(i'first_name ' : 'Baked''last_name ' : 'Beans' })
    writer.writerow(i'first_name ' : 'Love1y'})
    writer.writerow(i 'first_name ' : 'wonderfu7 ''7ast_name': 'spam ' })
#%%读

import csv

with open( ' names.csv ', newline=' ') as csvfile:
    reader = csv.DictReader(csvfile)
    for row in reader:
        print(row[ 'first_name'],row[ ' 1ast_name ' ])
复制代码


文章出处:https://www.cnblogs.com/qshhl/p/14815123.html


相关教程