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

首頁 > 學(xué)院 > 操作系統(tǒng) > 正文

Python的CSV模塊

2024-06-28 16:03:06
字體:
供稿:網(wǎng)友

Python 的 CSV模塊的使用方法,包括,reader, writer, DictReader, DictWriter.register_dialect

一直非常喜歡python的csv模塊,簡單易用,經(jīng)常在項目中使用,現(xiàn)在舉幾個例子說明一下。

reader(csvfile[, dialect='Excel'][, fmtparam])

參數(shù)表:

csvfile        需要是支持迭代(Iterator)的對象,并且每次調(diào)用next方法的返回值是字符串(string),通常的文件(file)對象,或者列表(list)對象都是適用的,如果是文件對象,打開是需要加"b"標(biāo)志參數(shù)。dialect        編碼風(fēng)格,默認(rèn)為excel方式,也就是逗號(,)分隔,另外csv模塊也支持excel-tab風(fēng)格,也就是制表符(tab)分隔。其它的方式需要自己定義,然后可以調(diào)用register_dialect方法來注冊,以及l(fā)ist_dialects方法來查詢已注冊的所有編碼風(fēng)格列表。fmtparam        格式化參數(shù),用來覆蓋之前dialect對象指定的編碼風(fēng)格。

例子:

import csvreader = csv.reader(file('your.csv', 'rb'))for line in reader:    PRint line

 

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

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

例子:

import csvwriter = 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)

1. 寫入并生成csv文件

代碼:

# coding: utf-8

import csv

csvfile = file('csv_test.csv', 'wb')

writer = csv.writer(csvfile)

writer.writerow(['姓名', '年齡', '電話'])

data = [

    ('小河', '25', '1234567'),

    ('小芳', '18', '789456')

]

writer.writerows(data)

csvfile.close()

wb中的w表示寫入模式,b是文件模式

寫入一行用writerow

多行用writerows

2. 取csv文件

代碼:

# coding: utf-8

import csv

csvfile = file('csv_test.csv', 'rb')

reader = csv.reader(csvfile)

for line in reader:

    print line

csvfile.close() 

運行結(jié)果:

root@he-desktop:~/python/example# python read_csv.py 

['/xe5/xa7/x93/xe5/x90/x8d', '/xe5/xb9/xb4/xe9/xbe/x84', '/xe7/x94/xb5/xe8/xaf/x9d']

['/xe5/xb0/x8f/xe6/xb2/xb3', '25', '1234567']

['/xe5/xb0/x8f/xe8/x8a/xb3', '18', '789456']

打印發(fā)行日期及標(biāo)題,逐行處理:

for line in open("samples/sample.csv"):  title, year, director = line.split(",")  print year, title

使用csv模塊處理:

import csvreader = csv.reader(open("samples/sample.csv"))for title, year, director in reader:  print year, title

改變分隔符

創(chuàng)建一csv.excel的子類,并修改分隔符為”;”

# File: csv-example-2.pyimport csvclass SKV(csv.excel):  # like excel, but uses semicolons  delimiter = ";" csv.register_dialect("SKV", SKV)reader = csv.reader(open("samples/sample.skv"), "SKV")for title, year, director in reader:  print year, title

如果僅僅僅是改變一兩個參數(shù),則可以直接在reader參數(shù)中設(shè)置,如下:

# File: csv-example-3.py import csv reader = csv.reader(open("samples/sample.skv"), delimiter=";") for title, year, director in reader:  print year, title

將數(shù)據(jù)存為CSV格式

通過csv.writer來生成一csv文件。

# File: csv-example-4.py import csvimport sys data = [  ("And Now For Something Completely Different", 1971, "Ian MacNaughton"),  ("Monty Python And The Holy Grail", 1975, "Terry Gilliam, Terry Jones"),  ("Monty Python's Life Of Brian", 1979, "Terry Jones"),  ("Monty Python Live At The Hollywood Bowl", 1982, "Terry Hughes"),  ("Monty Python's The Meaning Of Life", 1983, "Terry Jones")] writer = csv.writer(sys.stdout) for item in data:  writer.writerow(item)

?


發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 宿州市| 重庆市| 福安市| 凤台县| 英吉沙县| 潞西市| 吉首市| 梧州市| 襄城县| 厦门市| 定兴县| 什邡市| 司法| 岑溪市| 合作市| 金华市| 鄂州市| 中卫市| 商都县| 玉田县| 永吉县| 曲沃县| 久治县| 临湘市| 东阳市| 平武县| 海兴县| 尼勒克县| 区。| 北辰区| 邳州市| 朝阳区| 锡林浩特市| 伊吾县| 勐海县| 平南县| 乌兰浩特市| 宜城市| 绿春县| 汽车| 虎林市|