国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Python > 正文

Python CSV模塊使用實例

2020-02-23 00:39:10
字體:
來源:轉載
供稿:網友

舉幾個例子來介紹一下,Python 的 CSV模塊的使用方法,包括,reader, writer, DictReader, DictWriter.register_dialect

一直非常喜歡python的csv模塊,簡單易用,經常在項目中使用,現(xiàn)在舉幾個例子說明一下。
代碼如下:
reader(csvfile[, dialect='excel'][, fmtparam])

參數(shù)表:

csvfile
        需要是支持迭代(Iterator)的對象,并且每次調用next方法的返回值是字符串(string),通常的文件(file)對象,或者列表(list)對象都是適用的,如果是文件對象,打開是需要加"b"標志參數(shù)。

dialect
        編碼風格,默認為excel方式,也就是逗號(,)分隔,另外csv模塊也支持excel-tab風格,也就是制表符(tab)分隔。其它的方式需要自己定義,然后可以調用register_dialect方法來注冊,以及l(fā)ist_dialects方法來查詢已注冊的所有編碼風格列表。

fmtparam
        格式化參數(shù),用來覆蓋之前dialect對象指定的編碼風格。

例子:
代碼如下:
import csv

reader = csv.reader(file('your.csv', 'rb'))
for line in reader:
    print line
 

writer(csvfile[, dialect='excel'][, fmtparam])

參數(shù)表(略: 同reader, 見上)

例子:
代碼如下:
import csv

writer = csv.writer(file('your.csv', 'wb'))
writer.writerow(['Column1', 'Column2', 'Column3'])
lines = [range(3) for i in range(5)]
for line in lines:
    writer.writerow(line)

DictReader

同reader差不多,都是讀取CSV用的,只不過會生成一個字典(dict)類型的返回,而不是迭代類型。

DictWriter

 我主要想說的是DictWriter,我為什么會喜歡使用DictWriter呢,因為普通的writer你需要手工去構建列表,尤其是通過表單提交的時候,而我之前因為一直在zope平臺上開發(fā),而zope支持一種高級表單數(shù)據(jù)模型,也就是可以通過定義表單的時候加入相應的標志來使提交后的表單數(shù)據(jù)自動的生成一個記錄(records)類型,也就是生成一個每項數(shù)據(jù)都是一個字典的列表。這樣,我就可以非常方便的直接把表單數(shù)據(jù)傳給 DictWriter而生成csv,當然這個是在你能保證數(shù)據(jù)的正確性的前提下。好下面我來簡單的說明一下這種zope的高級表單數(shù)據(jù)類型。

例子:
代碼如下:
<form action='test_form_action' method=post>
            <input type="text" name="rows.Column1:records" value="0" />
            <input type="text" name="rows.Column2:records" value="1" />
            <input type="text" name="rows.Column3:records" value="2" />

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 通山县| 商洛市| 浑源县| 碌曲县| 广西| 凌源市| 安西县| 离岛区| 南漳县| 仁寿县| 平舆县| 遂昌县| 泾川县| 龙门县| 育儿| 贞丰县| 柞水县| 大庆市| 轮台县| 淮滨县| 公安县| SHOW| 瑞昌市| 河源市| 正安县| 革吉县| 汤原县| 万荣县| 根河市| 翼城县| 齐齐哈尔市| 清水河县| 青铜峡市| 昆明市| 高邑县| 铅山县| 大庆市| 高邑县| 高邑县| 兴宁市| 鹤庆县|