目錄
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]