成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

Python CSV模塊簡(jiǎn)介

不知名網(wǎng)友 / 1382人閱讀

摘要:文件格式是一種通用的電子表格和數(shù)據(jù)庫導(dǎo)入導(dǎo)出格式。這意味著讀的時(shí)候都認(rèn)為內(nèi)容是不被默認(rèn)引用符包圍的。所以非字符串類型的數(shù)據(jù)會(huì)被成字符串存儲(chǔ)。使用示例讀寫其它模塊還涉及了其它的概念,比如還提供了供錯(cuò)誤處理的等,因?yàn)閷?shí)際使用較少及就不累贅在此。

CSV

csv文件格式是一種通用的電子表格和數(shù)據(jù)庫導(dǎo)入導(dǎo)出格式。最近我調(diào)用RPC處理服務(wù)器數(shù)據(jù)時(shí),經(jīng)常需要將數(shù)據(jù)做個(gè)存檔便使用了這一方便的格式。

簡(jiǎn)介

Python csv模塊封裝了常用的功能,使用的簡(jiǎn)單例子如下:

# 讀取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)

默認(rèn)的情況下, 讀和寫使用逗號(hào)做分隔符(delimiter),用雙引號(hào)作為引用符(quotechar),當(dāng)遇到特殊情況是,可以根據(jù)需要手動(dòng)指定字符, 例如:

import csv
with open("passwd", "rb") as f:
    reader = csv.reader(f, delimiter=":", quoting=csv.QUOTE_NONE)
    for row in reader:
        print row

上述示例指定冒號(hào)作為分隔符,并且指定quote方式為不引用。這意味著讀的時(shí)候都認(rèn)為內(nèi)容是不被默認(rèn)引用符(")包圍的。quoting的可選項(xiàng)為: QUOTE_ALL, QUOTE_MINIMAL, QUOTE_NONNUMERIC, QUOTE_NONE.

有點(diǎn)需要注意的是,當(dāng)用writer寫數(shù)據(jù)時(shí), None 會(huì)被寫成空字符串,浮點(diǎn)類型會(huì)被調(diào)用 repr() 方法轉(zhuǎn)化成字符串。所以非字符串類型的數(shù)據(jù)會(huì)被 str() 成字符串存儲(chǔ)。所以當(dāng)涉及到unicode字符串時(shí),可以自己手動(dòng)編碼后存儲(chǔ)或者使用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里沒有指定那么默認(rèn)第一行的元素,在writer里一定要指定這個(gè)。

使用示例

# 讀
>>> 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, 還提供了供錯(cuò)誤處理的 exception csv.Error 等,因?yàn)閷?shí)際使用較少及就不累贅在此。更多參考官方文檔。

參考資料

https://docs.python.org/2/lib...

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/38254.html

相關(guān)文章

  • Python Library】csvCSV File Reading and Writing

    摘要:一概述逗號(hào)分隔符文件是表格與數(shù)據(jù)庫操作之中最常用的輸入輸出格式。但是盡管不同規(guī)范的之中,分隔符和引用符千差萬別,他們的格式還是大體相似的,因此制作一個(gè)可以高效處理文件中的數(shù)據(jù)同時(shí)還能將讀寫的細(xì)節(jié)隱去的模塊并不是什么難事兒。 一、概述 CSV(逗號(hào)分隔符)文件是表格與數(shù)據(jù)庫操作之中最常用的輸入輸出格式。在RFC4180中的文件描述標(biāo)準(zhǔn)對(duì)CSV格式進(jìn)行規(guī)范之前,CSV格式文件就已經(jīng)被應(yīng)用了...

    zhigoo 評(píng)論0 收藏0
  • 另類爬蟲:從PDF文件中爬取表格數(shù)據(jù)

    摘要:本文將展示如何利用的模塊從文件中爬取表格數(shù)據(jù)。但如何從文件中提取其中的表格,這卻是一個(gè)大難題。我們以輸出文件為例從文件中提取表格將表格數(shù)據(jù)轉(zhuǎn)化為文件得到的文件如下例在例中,我們將提取頁面中的某一區(qū)域的表格的數(shù)據(jù)。 簡(jiǎn)介 ??本文將展示一個(gè)稍微不一樣點(diǎn)的爬蟲。??以往我們的爬蟲都是從網(wǎng)絡(luò)上爬取數(shù)據(jù),因?yàn)榫W(wǎng)頁一般用HTML,CSS,JavaScript代碼寫成,因此,有大量成熟的技術(shù)來爬取...

    Anchorer 評(píng)論0 收藏0
  • 自制簡(jiǎn)單的詩歌搜索系統(tǒng)

    摘要:項(xiàng)目簡(jiǎn)介本文將介紹一個(gè)筆者自己的項(xiàng)目自制簡(jiǎn)單的詩歌搜索系統(tǒng)。該項(xiàng)目使用的模塊為其中,模塊和模塊用來制作爬蟲,爬取網(wǎng)上的詩歌。 項(xiàng)目簡(jiǎn)介 ??本文將介紹一個(gè)筆者自己的項(xiàng)目:自制簡(jiǎn)單的詩歌搜索系統(tǒng)。該系統(tǒng)主要的實(shí)現(xiàn)功能如下:指定一個(gè)關(guān)鍵詞,檢索出包含這個(gè)關(guān)鍵詞的詩歌,比如關(guān)鍵詞為白云,則檢索出的詩歌可以為王維的《送別》,內(nèi)容為下馬飲君酒,問君何所之?君言不得意,歸臥南山陲。但去莫復(fù)問,白云...

    SegmentFault 評(píng)論0 收藏0
  • Python爬蟲入門教程 4-100 美空網(wǎng)未登錄圖片爬取

    摘要:爬蟲分析首先,我們已經(jīng)爬取到了多的用戶個(gè)人主頁,我通過鏈接拼接獲取到了在這個(gè)頁面中,咱們要找?guī)讉€(gè)核心的關(guān)鍵點(diǎn),發(fā)現(xiàn)平面拍攝點(diǎn)擊進(jìn)入的是圖片列表頁面。 簡(jiǎn)介 上一篇寫的時(shí)間有點(diǎn)長(zhǎng)了,接下來繼續(xù)把美空網(wǎng)的爬蟲寫完,這套教程中編寫的爬蟲在實(shí)際的工作中可能并不能給你增加多少有價(jià)值的技術(shù)點(diǎn),因?yàn)樗皇且惶兹腴T的教程,老鳥你自動(dòng)繞過就可以了,或者帶帶我也行。 爬蟲分析 首先,我們已經(jīng)爬取到了N多的...

    netmou 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<