<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
一種用逗號分割來實現儲存表格資料的文字檔案。
python遍歷程式碼:
arr = [12, 5, 33, 4, 1] #遍歷輸出1 for i in range(0, len(arr)): item = arr[i] print(item) #遍歷輸出2 for item in arr: print(item) #遍歷輸出3 string_arr = ["hi", "hello", "你好", "aloha"] for item in string_arr: print("本次迴圈 item 變數的值", item)
用DictReader物件的建立方法以及通過filenames屬性獲取csv表格的表頭。
import csv #開啟csv fo = open("info.csv") #開啟csv檔案的檔案物件作為引數來建立dictreader類的物件,存在reader變數中 reader = csv.DictReader(fo) #呼叫reader物件的filednames屬性,獲取csv檔案表格的開頭 headers = reader.fieldnames #關閉檔案 fo.close() #列印 print(headers)
獲取表格實際內容。
fo = open("info.csv") reader = csv.DictReader(fo) #建立列表,儲存讀到的行 row_list = [] #遍歷 for row in reader: row_list.append(row) fo.close() #列印 print(row_list[0]) #遍歷row_list for d in row_list: #d是字典,直接列印key為年齡值即可 print(d["年齡"]) #列印
python提供了DictWriter方法,可以講表格資料以字典的形式儲存到csv檔案中。
import csv #開啟一個檔案,假設是info.csv,寫入所以是w #newline='',寫入時需要指定 fo = open("info2.csv", "w", newline='') #將表頭儲存到一個列表裡 header = ["姓名", "年齡", "部門"] #建立一個DictWriter物件,第二個引數就是上面建立的表頭 writer = csv.DictWriter(fo, header) writer.writeheader() #寫入一行記錄,以字典的形式,key需要與表頭對應 writer.writerow({"姓名": "小明", "年齡":"28", "部門": "行政部"}) #關閉檔案 fo.close()
執行後,相應的資料夾下會出現一個對應的csv檔案。
也可以使用writer.writerows(row_list)來寫入多個。
1、開啟網頁,讀取內容,並建立相應的BeautifulSoup物件
2、找到包含新聞的div元素列表
3、從2中抽取標題
4、從2中抽取時間
from bs4 import BeautifulSoup def create_doc_from_filename(filename): fo = open(filename, "r", encoding='utf-8') html_content = fo.read() fo.close doc = BeautifulSoup(html_content) return doc
(記得要pip install bs4)
#輸入引數是BeautifulSoup物件,返回包含新聞的div元素列表 def find_index_labels(doc): index_labels = doc.find_all("div", class_ = "indexs") return index_labels
#實現新聞標題的抽取函數 def get_title(label_object): #從剛才的引數傳入的標籤物件中過濾出所有的target = _blank的a標籤 a_labels = label_object.find_all("a", target = "_blank") #取得第一個標籤物件 my_label = a_labels[0] #將標籤的文字內容作為返回值返回 return my_label.get_text()
#實現獲取新聞釋出時間的函數 def get_pub_time(label_object): #找到class = comment-link的span標籤 spans = label_object.find_all("span", class_ = "comment-link") #取第一個 span = spans[0] #返回標題屬性 return span["title"]
#獲取新聞標題與列表 #呼叫create_doc_from_filename函數 doc = create_doc_from_filename("jiandan.html") #傳入BeautifulSoup物件,將返回的div列表儲存在index_labels中 index_labels = find_index_labels(doc) for label_object in index_labels: title = get_title(label_object) pub_time = get_pub_time(label_object) print("標題", title) print("釋出時間", pub_time)
#獲取新聞標題與列表 #呼叫create_doc_from_filename函數 doc = create_doc_from_filename("jiandan.html") #傳入BeautifulSoup物件,將返回的div列表儲存在index_labels中 index_labels = find_index_labels(doc) news_dict_list = [] for label_object in index_labels: title = get_title(label_object) pub_time = get_pub_time(label_object) news = {"標題": title, "釋出時間": pub_time} news_dict_list.append(news) print(news_dict_list)
#建立csv fo = open("news.csv", "w", newline='', encoding='utf-8') #表頭 header = ["標題", "釋出時間"] writer = csv.DictWriter(fo, header) #寫入表頭 writer.writeheader() #將上一步的字典寫入csv檔案中 writer.writerows(news_dict_list) fo.close()
到此這篇關於python資料分析之將爬取的資料儲存為csv格式的文章就介紹到這了,更多相關python爬取資料儲存csv格式內容請搜尋it145.com以前的文章或繼續瀏覽下面的相關文章希望大家以後多多支援it145.com!
相關文章
<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
综合看Anker超能充系列的性价比很高,并且与不仅和iPhone12/苹果<em>Mac</em>Book很配,而且适合多设备充电需求的日常使用或差旅场景,不管是安卓还是Switch同样也能用得上它,希望这次分享能给准备购入充电器的小伙伴们有所
2021-06-01 09:31:42
除了L4WUDU与吴亦凡已经多次共事,成为了明面上的厂牌成员,吴亦凡还曾带领20XXCLUB全队参加2020年的一场音乐节,这也是20XXCLUB首次全员合照,王嗣尧Turbo、陈彦希Regi、<em>Mac</em> Ova Seas、林渝植等人全部出场。然而让
2021-06-01 09:31:34
目前应用IPFS的机构:1 谷歌<em>浏览器</em>支持IPFS分布式协议 2 万维网 (历史档案博物馆)数据库 3 火狐<em>浏览器</em>支持 IPFS分布式协议 4 EOS 等数字货币数据存储 5 美国国会图书馆,历史资料永久保存在 IPFS 6 加
2021-06-01 09:31:24
开拓者的车机是兼容苹果和<em>安卓</em>,虽然我不怎么用,但确实兼顾了我家人的很多需求:副驾的门板还配有解锁开关,有的时候老婆开车,下车的时候偶尔会忘记解锁,我在副驾驶可以自己开门:第二排设计很好,不仅配置了一个很大的
2021-06-01 09:30:48
不仅是<em>安卓</em>手机,苹果手机的降价力度也是前所未有了,iPhone12也“跳水价”了,发布价是6799元,如今已经跌至5308元,降价幅度超过1400元,最新定价确认了。iPhone12是苹果首款5G手机,同时也是全球首款5nm芯片的智能机,它
2021-06-01 09:30:45