a亚洲精品_精品国产91乱码一区二区三区_亚洲精品在线免费观看视频_欧美日韩亚洲国产综合_久久久久久久久久久成人_在线区

首頁 > 學院 > 操作系統 > 正文

Python的CSV模塊

2024-06-28 16:03:06
字體:
來源:轉載
供稿:網友

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

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

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

參數表:

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

例子:

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

 

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

參數表(略: 同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() 

運行結果:

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']

打印發行日期及標題,逐行處理:

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

改變分隔符

創建一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

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

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

將數據存為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)

?


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 国产美女精品一区二区 | 国产午夜视频在线观看 | 狠狠综合久久 | 成人久久久精品乱码一区二区三区 | 欧美精品成人一区二区三区四区 | 亚洲欧美aⅴ | 欧美在线一区二区三区 | 日韩在线视频观看 | 国产二区在线播放 | 久久免费精品视频 | 久久久网| 国产传媒在线视频 | 在线播放一区二区三区 | 国产免费黄色 | 无套内谢孕妇毛片免费看红桃影视 | 日韩综合 | 欧美午夜理伦三级在线观看偷窥 | 男人久久天堂 | 日韩精品一二 | 亚洲成人一区二区在线观看 | 久久国产精品99久久久久久牛牛 | 国产精品系列在线播放 | 超碰青青草原 | 一本久久a久久精品亚洲 | 色橹橹欧美在线观看视频高清 | 中文字幕久久精品 | 国产成人精品免费视频 | 成人免费影院 | 日韩精品在线看 | 99久久精品久久亚洲精品 | 视频在线亚洲 | 成人亚洲在线观看 | 成人一级片在线观看 | 久久久久久黄 | 青草视频免费 | 国产精品嫩草影院88av漫画 | 男女羞羞视频在线观看免费 | 久久精品在线视频 | 久久久国产视频 | 久久精品久久久久久 | 久久国产成人 |