1.介绍CSV
逗号分隔值(Comma-Separated Values,CSV,也称为字符分隔值,分隔字符也可以不是逗号)。
保存形式
其文件以纯文本形式存储表格数据(数字和文本)。纯文本意味着该文件是一个字符序列,不含必须像二进制数字那样被解读的数据。
分隔符号
CSV文件由任意数目的记录组成,记录间以某种换行符分隔;每条记录由字段组成,字段间的分隔符是其它字符或字符串,最常见的是逗号或制表符。
打开方式
通常,所有记录都有完全相同的字段序列。通常都是纯文本文件。建议使用WORDPAD或是记事本来开启,再则先另存新档后用EXCEL开启,也是方法之一。
2. Python代码
#!/usr/bin/python3
# -*- coding: utf-8 -*-
# 导入CSV安装包
import csv
# 1. 创建文件对象
f = open('文件名.csv','w',encoding='utf-8')
#或者:
with open('A.csv', 'a', encoding='utf-8', newline='') as f:
# 2. 基于文件对象构建 csv写入对象
csv_writer = csv.writer(f)
# 3. 构建列表头
csv_writer.writerow(["姓名","年龄","性别"])
# 4. 写入csv文件内容
csv_writer.writerow(["l",'18','男'])
csv_writer.writerow(["c",'20','男'])
csv_writer.writerow(["w",'22','女'])
# 5. 关闭文件
f.close() # with方法不需要
3.运行结果
本文介绍就直接使用文本打开,结果如下:
4. 用Excel打开上述结果,发现出现空行问题
4.1 Python2 解决
将写入方式w 修改成wb
f = open(‘文件名.csv’,‘wb’,encoding=‘utf-8’)
4.2 Python3 解决
Python2的解决方式也支持,同时也可以添加newline=’’"参数即可,如下所示:
f = open(‘文件名.csv’,‘w’,encoding=‘utf-8’,newline=’’ ")
5.dict.keys()和dict_values转换成list类型及访问操作
from collections import Counter
s = "aaabcccdeff"
temp = Counter(s)
print(temp) # Counter({'a': 3, 'c': 3, 'f': 2, 'b': 1, 'd': 1, 'e': 1})
print(type(temp)) # <class 'collections.Counter'>
print(temp.items()) # dict_items([('a', 3), ('b', 1), ('c', 3), ('d', 1), ('e', 1), ('f', 2)])
print(temp.keys()) # dict_keys(['a', 'b', 'c', 'd', 'e', 'f'])
print(temp.values()) # dict_values([3, 1, 3, 1, 1, 2])
# dict.keys()转换成list类型
print(list(temp.keys())) # ['a', 'b', 'c', 'd', 'e', 'f']
# dict_values转化为list类型
print(list(temp.values())[:]) # [3, 1, 3, 1, 1, 2]