Python輸出csv、excel表格
阿新 • • 發佈:2019-01-07
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
丁。