Python CSV文件处理/读写编码
CSV全称为“Comma Separated Values”,是一种格式化的文件,由行和列组成,分隔符能够根据须要来变化。 以下面为一csv文件:spa
Title,Release Date,Directorexcel
And Now For Something Completely Different,1971,Ian MacNaughtoncode
Monty Python And The Holy Grail,1975,Terry Gilliam and Terry Jonesutf-8
Monty Python's Life Of Brian,1979,Terry Jonesunicode
Monty Python Live At The Hollywood Bowl,1982,Terry Hughesit
Monty Python's The Meaning Of Life,1983,Terry Jonesclass
1、打印发行日期及标题。看成文件读出来逐行处理:import
for line in open("samples/sample.csv"):csv
title, year, director = line.split(",")
print(year, title)
2、使用csv模块处理(打印发行日期及标题):
import csv
reader = csv.reader(open("samples/sample.csv"))
for title, year, director in reader:
print(year, title)
2.一、改变分隔符,建立一csv.excel的子类,并修改分隔符为”;”
# File: csv-example-2.py
import csv
class 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)
2.2若是仅仅仅是改变一两个参数,则能够直接在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)
3、将数据存为CSV格式,经过csv.writer来生成一csv文件。
# File: csv-example-4.py
import csv
import 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"),
("中国 Python's The Meaning Of Life", 1983, "Terry Jones")]
writer = csv.writer(sys.stdout)
for item in data:
writer.writerow(item)
//中文编码问题
//writer.writerow([unicode(s).encode("utf-8") for s in item])