====== Python CSV文件处理/读写 ====== CSV全称为“Comma Separated Values",是一种格式化的文件,由行和列组成,分隔符可以根据需要来变化。 \\ 如下面为一csv文件: Title,Release Date,Director And Now For Something Completely Different,1971,Ian MacNaughton Monty Python And The Holy Grail,1975,Terry Gilliam and 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 ===== 打印发行日期及标题。===== 逐行处理: for line in open("samples/sample.csv"): title, year, director = line.split(",") print year, title =====使用csv模块处理:===== import csv reader = csv.reader(open("samples/sample.csv")) for title, year, director in reader: print year, title =====改变分隔符===== 创建一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 如果仅仅仅是改变一两个参数,则可以直接在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 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"), ("Monty Python's The Meaning Of Life", 1983, "Terry Jones") ] writer = csv.writer(sys.stdout) for item in data: writer.writerow(item)