Python CSV文件模塊的使用案例分析
本文實(shí)例講述了Python CSV文件模塊的使用。分享給大家供大家參考,具體如下:
1、CSV模塊使用流程
1、導(dǎo)入模塊
impport CSV
2、打開文件(xxx.csv)
with open('xxx.csv','a',encoding='utf-8') as f:
- 1、a和 a+ ‘追加'功能
a 追加寫
a+ 追加寫讀(先寫后讀)
- 2、r 和 r+
r 只讀
r+讀寫,先讀后寫
- 3、w,w+
w 只寫
w+寫讀 先寫后讀
3、初始化寫入對(duì)象
writer = csv.wirter()
4、寫入數(shù)據(jù)
writer.writerow(['孫悟空', '蘭陵王'])
案例:
貓眼電影top10榜單的爬取
1、網(wǎng)址:url
2、目標(biāo):爬取自己想要的文件
3、保存本地:csv文件
4、步驟
- 1、找url規(guī)律
第一頁:https://maoyan.com/board/4?offset=0
第4頁:https://maoyan.com/board/4?offset=30
第n頁:offset=(n-1)*10
- 2、寫正則表達(dá)式
'<div class="movie-item-info".*?title="(.*?)".*?class="star">(.* ?)</p>.*?class="releasetime">(.*?)</p>',re.S
練習(xí):爬取貓王top10信息
from urllib import request
import re
import time
import csv
class MaoyanSpider(object):
def __init__(self):
self.headers = {"User-Agent": "Mozilla/5.0 (Windows NT 6.1; rv:2.0.1) Gecko/20100101 Firefox/4.0.1"}
self.page = 1
# 用來計(jì)數(shù)
def get_page(self, url):
req = request.Request(url, headers=self.headers)
res = request.urlopen(req)
html = res.read().decode('utf-8')
# 直接調(diào)用解析函數(shù)
self.parse_page(html)
def parse_page(self,html):
p=re.compile('<div class="movie-item-info">.*?title="(.*?)".*?class="star">(.*?)</p>.*?class="releasetime">(.*?)</p>',re.S)
#p=re.compile('<div class="movie-item-info">.*?title="(.*?)".*?class="star">(.* ?)</p>.*?class="releasetime">(.*?)</p>',re.S)
r_list = p.findall(html)
# 直接調(diào)用保存函數(shù)
# r_list:[('霸王別姬','張國榮','1993'),(),()]
self.write_csv(r_list)
# 保存數(shù)據(jù)函數(shù)
def write_csv(self,r_list):
with open('貓眼電影top10.csv','a') as f:
writer = csv.writer(f)
# 依次寫入每個(gè)電影信息
for r_t in r_list:
film = [
r_t[0].strip(),
r_t[1].strip(),
r_t[2].strip()
]
writer.writerow(film)
#主函數(shù)
def work_om(self):
for pn in range(0,41,10):
url = 'https://maoyan.com/board/4?offset=%s'%str(pn)
self.get_page(url)
print('第%d頁爬取成功'%self.page)
self.page += 1
time.sleep(4)
if __name__ =='__main__':
begin = time.time()
spider = MaoyanSpider()
spider.work_om()
end = time.time()
print("執(zhí)行時(shí)間%.2f"%(end - begin))
運(yùn)行截圖:

更多Python相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《Python操作Excel表格技巧總結(jié)》、《Python編碼操作技巧總結(jié)》、《Python數(shù)據(jù)結(jié)構(gòu)與算法教程》、《Python函數(shù)使用技巧總結(jié)》、《Python字符串操作技巧匯總》、《Python入門與進(jìn)階經(jīng)典教程》及《Python文件與目錄操作技巧匯總》
希望本文所述對(duì)大家Python程序設(shè)計(jì)有所幫助。
相關(guān)文章
selenium+python自動(dòng)化78-autoit參數(shù)化與批量上傳功能的實(shí)現(xiàn)
這篇文章主要介紹了selenium+python自動(dòng)化78-autoit參數(shù)化與批量上傳,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2021-03-03
Pycharm安裝第三方庫時(shí)Non-zero exit code錯(cuò)誤解決辦法
這篇文章主要介紹了Pycharm安裝第三方庫時(shí)Non-zero exit code錯(cuò)誤解決辦法,最好的解決辦法可以通過“Pycharm”左下角的“Terminal”,在pycharm內(nèi)使用pip安裝,以安裝“requests”為例,需要的朋友可以參考下2023-01-01
Python openpyxl庫處理Excel文件高級(jí)應(yīng)用技巧實(shí)例
openpyxl是一個(gè)用于處理Excel文件的Python庫,它提供了豐富的功能,使得用戶能夠輕松地讀取、寫入和操作Excel文件,而不需要依賴于Microsoft Excel軟件,作為一個(gè)開源項(xiàng)目,openpyxl在Python生態(tài)系統(tǒng)中得到了廣泛的應(yīng)用,成為處理Excel數(shù)據(jù)的首選工具之一2024-01-01
Python使用pypandoc將markdown文件和LaTex公式轉(zhuǎn)為word
pypandoc 是一個(gè)用于 pandoc 的輕量級(jí) Python 包裝器,支持多種格式的文檔轉(zhuǎn)換,下面我們來看看如何使用pypandoc將markdown文件和LaTex公式轉(zhuǎn)為word吧2025-04-04
Python調(diào)試神器之PySnooper的使用教程分享
對(duì)于每個(gè)程序開發(fā)者來說,調(diào)試幾乎是必備技能。本文小編就來給大家介紹一款非常好用的調(diào)試工具,它能在一些場景下,大幅度提高調(diào)試的效率, 那就是 PySnooper,希望大家喜歡2023-02-02
解讀requests.session()獲取Cookies全過程
這篇文章主要介紹了解讀requests.session()獲取Cookies全過程,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-02-02

