“CSV”不是标准,即使“CSV”字面意思是“逗号分隔值”,使用制表符作为分隔符与逗号一样常见,如果不是更常见的话。另见维基百科:http ://en.wikipedia.org/wiki/Comma-separated_values
为了满足包含分隔符(即制表符或逗号)的 CSV 字段,通常会引用数据,即使用双引号。没有标准 - 有时只引用包含分隔符的数据字段。在下面的示例中,所有字段都将被引用。
使用 csv 内置库,可以很容易地根据需要修改输出 CSV 文件的格式。
import csv
objs = [{'name': 'knut', 'age': 74, 'count': 13},
{'name': 'lydia', 'age': 14, 'count': 3}]
with open("/tmp/example.csv", "w") as outfile:
## Ordering of the fields in the CSV output
headers = ['name', 'age', 'count']
## although "CSV" stands for "comma separated values",
## it's quite common to use other delimiters i.e. TAB
## and still call it "CSV".
writer = csv.writer(outfile, delimiter="\t", quotechar='"', quoting=csv.QUOTE_ALL)
## it's common in CSV to have the headers on the first line
writer.writerow(headers)
## Write out the data
for obj in objs:
writer.writerow([obj[key] for key in headers])
这个例子还演示了 python 中的简明列表操作……[obj[key] for key in headers]
意思是“给我标题中所有键的 obj[key] 列表”。