1. 程式人生 > >Python輸出csv、excel表格

Python輸出csv、excel表格

Python與機器學習之資料視覺化(二)

在機器學習應用過程中,最重要的部分之一是資料視覺化。換句話,如何說服別人或者自己?
環境:python3.5

Excel表格

通過查閱資料,發現python excel有關的庫有兩組,一組是xlrd、xlwt、xlutils,另一組是openpyxl。
- 第一組(xlrd、xlwt、xlutils)支援在Excel 97-2003甚至是更早的版本。
- 第二組(openpyxl)支援Excel 2010版本。

然而已經2017,時光匆匆…
所以筆者不推薦輸出Excel如.xlsx格式,更好的建議有pymysql資料庫以及如下介紹的CSV格式。
ps:真想輸出.xlsx,推薦網站->

直戳

CSV檔案

  • 定義——逗號分隔值(Comma-Separated Values,CSV,有時也稱為字元分隔值),其檔案以純文字形式儲存表格資料(數字和文字)。
  • 應用——CSV是一種通用的、相對簡單的檔案格式,被使用者、商業和科學廣泛應用。
  • 使用——完全可以用excel開啟,如圖
    這裡寫圖片描述

CSV教程

匯入

import csv

讀取csv檔案

#開啟檔案
#方式wb會省去許多問題
with open("XXX.csv","rb",encoding="utf-8") as csvfile:
     #讀取csv檔案,返回的是迭代型別
     read = csv.reader(csvfile)
     for
i in read:print(i)

寫出csv檔案

#注意newline
with open("XXX.csv","w",newline="") as datacsv:
     #dialect為開啟csv檔案的方式,預設是excel,delimiter="\t"引數指寫入的時候的分隔符
     csvwriter = csv.writer(datacsv,dialect = ("excel"))
     #csv檔案插入一行資料,把下面列表中的每一項放入一個單元格(可以用迴圈插入多行)
     csvwriter.writerow(["A","B","C","D"])

字典方式讀寫

import csv
# 讀
with open('names.csv') as csvfile:
    reader = csv.DictReader(csvfile)
    for row in reader:
        print(row['first_name'], row['last_name'])
#Out:
Baked Beans
Lovely Spam
Wonderful Spam


# 寫
with open('names.csv', 'wb') as csvfile:
    fieldnames = ['first_name', 'last_name']
    writer = csv.DictWriter(csvfile, fieldnames=fieldnames)
    #注意header是個好東西
    writer.writeheader()
    writer.writerow({'first_name': 'Baked', 'last_name': 'Beans'})
    writer.writerow({'first_name': 'Lovely', 'last_name': 'Spam'})
    writer.writerow({'first_name': 'Wonderful', 'last_name': 'Spam'})

總結

csv清晰簡單,是資料視覺化中不可缺少的部分。
如果您看到這篇文章有收穫或者有不同的意見,歡迎點贊或者評論。
python:190341254
丁。