一,csv檔案的簡單讀寫
import csv
# csv也叫逗號分分隔,一般以逗號分隔,也可以使用空格或者tab分隔
csv_file =
open
("file/test.csv"
,"w+"
)# 寫入
try:
csv_write = csv.writer(csv_file)
csv_write.writerow(
("col1"
,"col2"
,"col3"))
for i in
range(4
):csv_write.writerow(
(i*1
, i*
10, i*
100)
)finally
: csv_file.close(
)# 讀出,當然上面寫入也可以使用with as語法
with
open
("file/test.csv"
,"r"
)as f:
reader = csv.reader(f)
for i in reader:
print
(i)
二, 爬蟲實戰,爬取世界大學排名存入csv中import requests
from bs4 import beautifulsoup
import csv
"""獲取本**上的世界大學1000名。因為時**,存入csv檔案
"""def
wirte_csv
(data_list)
:# 之前為gb2312編碼,csv寫入部分字元無法表示,所以轉換為utf-8編碼
csv_file =
open
("file/university.csv"
,"w+"
, encoding=
"utf-8"
)try
: csv_writer = csv.writer(csv_file)
for i in data_list:
# 因為之前使用了\t來拼接,所以這次使用'\t'來就行分割成為列表
csv_writer.writerow(i.split(
'\t')[
:-1]
)finally
: csv_file.close(
)def
get_soup
(url, encode)
:# 獲取soup物件
header =
resp = requests.get(url=url, headers=header)
resp.encoding=encode
return beautifulsoup(resp.text,
"lxml"
)def
get_university
(soup)
:# 獲取資料
un_list = soup.find(
"table"
).find_all(
"tr"
) td_list =
for un_row in un_list:
td_row=
""for un_td in un_row.find_all(
"td"):
td_row = td_row+un_td.text+
"\t"
return td_list
if __name__ ==
'__main__'
: url = r""
# 獲取bs物件,並且此**使用gb2312編碼
soup = get_soup(url,
"gb2312"
)list
= get_university(soup)
wirte_csv(
list
)
結果:生成檔案university.csv,開啟即可看到將爬取的資料。 python網路爬蟲 資料儲存之CSV
csv comma separated values,逗號分隔值 是儲存 資料的常用檔案格式。很多應用都支援csv格式,因為它很簡潔,下面就是乙個csv檔案的例子 fruit,cost banana,0.30 pear,1.25 python的csv庫可以非常簡單地修改csv檔案,甚至從零開始建立乙...
爬蟲學習之csv讀取和儲存
該讀取主要使用到csv裡面的reader dictreader 方法,和引用io裡面的stringio進行對字串進行封裝 在處理網上的csv檔案方式主要是有一下幾方面 從網上直接把檔案讀成乙個字串,然後轉換成乙個stringio 物件,使它具有檔案的 屬性。最優處理方案 雖然前兩個方法也可以用,但是...
Python 爬蟲 (Json和Csv)檔案儲存
用解析器解析出的資料後,可以通過txt json csv等檔案形式進行儲存 1 txt形式此處略 2 json檔案儲存 json即js 物件標記,是一種資料格式 json格式 json物件 json陣列 例如 1 import json 2 str 3 4 5print type str 6 obj...