摘要:文件格式是一種通用的電子表格和數據庫導入導出格式。這意味著讀的時候都認為內容是不被默認引用符包圍的。所以非字符串類型的數據會被成字符串存儲。使用示例讀寫其它模塊還涉及了其它的概念,比如還提供了供錯誤處理的等,因為實際使用較少及就不累贅在此。
CSV
csv文件格式是一種通用的電子表格和數據庫導入導出格式。最近我調用RPC處理服務器數據時,經常需要將數據做個存檔便使用了這一方便的格式。
簡介Python csv模塊封裝了常用的功能,使用的簡單例子如下:
# 讀取csv文件 import csv with open("some.csv", "rb") as f: # 采用b的方式處理可以省去很多問題 reader = csv.reader(f) for row in reader: # do something with row, such as row[0],row[1] import csv with open("some.csv", "wb") as f: # 采用b的方式處理可以省去很多問題 writer = csv.writer(f) writer.writerows(someiterable)
默認的情況下, 讀和寫使用逗號做分隔符(delimiter),用雙引號作為引用符(quotechar),當遇到特殊情況是,可以根據需要手動指定字符, 例如:
import csv with open("passwd", "rb") as f: reader = csv.reader(f, delimiter=":", quoting=csv.QUOTE_NONE) for row in reader: print row
上述示例指定冒號作為分隔符,并且指定quote方式為不引用。這意味著讀的時候都認為內容是不被默認引用符(")包圍的。quoting的可選項為: QUOTE_ALL, QUOTE_MINIMAL, QUOTE_NONNUMERIC, QUOTE_NONE.
有點需要注意的是,當用writer寫數據時, None 會被寫成空字符串,浮點類型會被調用 repr() 方法轉化成字符串。所以非字符串類型的數據會被 str() 成字符串存儲。所以當涉及到unicode字符串時,可以自己手動編碼后存儲或者使用csv提供的 UnicodeWriter, 具體可參見這里。
字典方式地讀寫csv還提供了一種類似于字典方式的讀寫,方式如下:
格式如下:
class csv.DictReader(csvfile, fieldnames=None, restkey=None, restval=None, dialect="excel", *args, **kwds) class csv.DictWriter(csvfile, fieldnames, restval="", extrasaction="raise", dialect="excel", *args, **kwds)
其中fieldnames指定字典的key值,如果reader里沒有指定那么默認第一行的元素,在writer里一定要指定這個。
使用示例
# 讀 >>> import csv >>> with open("names.csv") as csvfile: ... reader = csv.DictReader(csvfile) ... for row in reader: ... print(row["first_name"], row["last_name"]) ... Baked Beans Lovely Spam Wonderful Spam # 寫 import csv with open("names.csv", "w") as csvfile: fieldnames = ["first_name", "last_name"] writer = csv.DictWriter(csvfile, fieldnames=fieldnames) writer.writeheader() writer.writerow({"first_name": "Baked", "last_name": "Beans"}) writer.writerow({"first_name": "Lovely", "last_name": "Spam"}) writer.writerow({"first_name": "Wonderful", "last_name": "Spam"})其它
csv模塊還涉及了其它的概念,比如 Dialects, 還提供了供錯誤處理的 exception csv.Error 等,因為實際使用較少及就不累贅在此。更多參考官方文檔。
參考資料https://docs.python.org/2/lib...
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/38254.html
摘要:一概述逗號分隔符文件是表格與數據庫操作之中最常用的輸入輸出格式。但是盡管不同規范的之中,分隔符和引用符千差萬別,他們的格式還是大體相似的,因此制作一個可以高效處理文件中的數據同時還能將讀寫的細節隱去的模塊并不是什么難事兒。 一、概述 CSV(逗號分隔符)文件是表格與數據庫操作之中最常用的輸入輸出格式。在RFC4180中的文件描述標準對CSV格式進行規范之前,CSV格式文件就已經被應用了...
摘要:本文將展示如何利用的模塊從文件中爬取表格數據。但如何從文件中提取其中的表格,這卻是一個大難題。我們以輸出文件為例從文件中提取表格將表格數據轉化為文件得到的文件如下例在例中,我們將提取頁面中的某一區域的表格的數據。 簡介 ??本文將展示一個稍微不一樣點的爬蟲。??以往我們的爬蟲都是從網絡上爬取數據,因為網頁一般用HTML,CSS,JavaScript代碼寫成,因此,有大量成熟的技術來爬取...
摘要:項目簡介本文將介紹一個筆者自己的項目自制簡單的詩歌搜索系統。該項目使用的模塊為其中,模塊和模塊用來制作爬蟲,爬取網上的詩歌。 項目簡介 ??本文將介紹一個筆者自己的項目:自制簡單的詩歌搜索系統。該系統主要的實現功能如下:指定一個關鍵詞,檢索出包含這個關鍵詞的詩歌,比如關鍵詞為白云,則檢索出的詩歌可以為王維的《送別》,內容為下馬飲君酒,問君何所之?君言不得意,歸臥南山陲。但去莫復問,白云...
摘要:爬蟲分析首先,我們已經爬取到了多的用戶個人主頁,我通過鏈接拼接獲取到了在這個頁面中,咱們要找幾個核心的關鍵點,發現平面拍攝點擊進入的是圖片列表頁面。 簡介 上一篇寫的時間有點長了,接下來繼續把美空網的爬蟲寫完,這套教程中編寫的爬蟲在實際的工作中可能并不能給你增加多少有價值的技術點,因為它只是一套入門的教程,老鳥你自動繞過就可以了,或者帶帶我也行。 爬蟲分析 首先,我們已經爬取到了N多的...
閱讀 3735·2023-01-11 11:02
閱讀 4244·2023-01-11 11:02
閱讀 3050·2023-01-11 11:02
閱讀 5181·2023-01-11 11:02
閱讀 4737·2023-01-11 11:02
閱讀 5534·2023-01-11 11:02
閱讀 5313·2023-01-11 11:02
閱讀 3990·2023-01-11 11:02