Python 將數據寫入CSV文件


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]


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM