人生苦短,我用 Pythonpython
前文傳送門:git
小白學 Python 數據分析(1):數據分析基礎github
小白學 Python 數據分析(2):Pandas (一)概述微信
小白學 Python 數據分析(3):Pandas (二)數據結構 Series數據結構
小白學 Python 數據分析(4):Pandas (三)數據結構 DataFrameapp
小白學 Python 數據分析(5):Pandas (四)基礎操做(1)查看數據測試
小白學 Python 數據分析(6):Pandas (五)基礎操做(2)數據選擇編碼
小白學 Python 數據分析(7):Pandas (六)數據導入spa
小白學 Python 數據分析(8):Pandas (七)數據預處理3d
小白學 Python 數據分析(9):Pandas (八)數據預處理(2)
小白學 Python 數據分析(10):Pandas (九)數據運算
小白學 Python 數據分析(11):Pandas (十)數據分組
小白學 Python 數據分析(12):Pandas (十一)數據透視表(pivot_table)
小白學 Python 數據分析(13):Pandas (十二)數據表拼接
先說個題外話,今天有位小朋友在後臺給我留言,說個人公衆號頭像太嚇人了,不敢關注我,怕我入侵她的手機。。。。。。。。。。。
emmmmmmmmmmmm,我都這麼牛逼了麼,我怎麼不知道。
不知道有多少人是由於個人頭像太嚇人不敢關注我,因此我決定向廣大的智慧超羣的粉絲羣體徵集一個頭像,沒啥要求,積極、陽光、正面便可,若是能和公衆號的名字極客或者挖掘機掛鉤最佳,方式能夠添加小編的微信(allen_6174)發給小編便可,若是採納,將會全平臺更換(可憐的我這個用了近一年的頭像啊,我當時還以爲挺 cool 來着)。
閒話少說,咱們開始今天的正題,數據導出。
當咱們在對數據作完相應的處理後,想要將數據保存下來的時候,就須要用到數據導出了。
其實在前面的文章中,小編曾經使用過一次數據導出成 Excel ,當時沒有詳細介紹,本文咱們詳細介紹一下數據導出。
在作數據導出前,咱們須要現有一份 DataFrame 數據,這裏的數據小編偷懶,就直接讀取以前示例中的 Excel 了,固然這麼作並無什麼意義,僅用來演示導出數據。
在 Pandas 中導出 Excel 的時候,須要使用到的方法是 to_excel()
方法,在導出 Excel 文件的時候,必定要寫對文件路徑,咱們在前面的文章中有介紹過文件路徑的書寫方法,小編這裏很少 BB ,直接上示例:
import pandas as pd
# 數據讀取
df = pd.read_excel("table_join_exp.xlsx", sheet_name='Sheet1')
# 數據導出
df.to_excel(excel_writer=r'D:\Development\Projects\demo.xlsx')
複製代碼
咱們來看下 to_excel()
這個方法的語法:
DataFrame.to_excel(self, excel_writer, sheet_name='Sheet1', na_rep='', float_format=None, columns=None, header=True, index=True, index_label=None, startrow=0, startcol=0, engine=None, merge_cells=True, encoding=None, inf_rep='inf', verbose=True, freeze_panes=None) → None
複製代碼
to_excel()
這個方法中的參數仍是比較多的,咱們挑幾個經常使用的介紹一下:
'utf-8'
。接下來看示例,這個示例小編會盡可能寫得複雜一點,把咱們上面的屬性儘量的都用上,而且標註好註釋:
df.to_excel(excel_writer=r'D:\Development\Projects\demo.xlsx',
sheet_name='測試文檔', # 建立 sheet 名稱
index=False, # 設置索引不顯示
columns=['編號', '姓名'], # 設置要導出的列
encoding='utf-8', # 設置編碼格式
na_rep='0', # 缺失值處理
inf_rep='inf' # 無窮值處理
)
複製代碼
在導出 CSV 的時候,要使用到的方法是 to_csv()
,和上面導出 Excel 實際上相差並不大,同樣是要先設置文件路徑,接下來能夠設置索引、導出的列、分隔符號、編碼格式、缺失值等等。
仍是先來看下 to_csv()
語法:
DataFrame.to_csv(self, path_or_buf: Union[str, pathlib.Path, IO[~AnyStr], NoneType] = None, sep: str = ',', na_rep: str = '', float_format: Union[str, NoneType] = None, columns: Union[Sequence[Union[Hashable, NoneType]], NoneType] = None, header: Union[bool, List[str]] = True, index: bool = True, index_label: Union[bool, str, Sequence[Union[Hashable, NoneType]], NoneType] = None, mode: str = 'w', encoding: Union[str, NoneType] = None, compression: Union[str, Mapping[str, str], NoneType] = 'infer', quoting: Union[int, NoneType] = None, quotechar: str = '"', line_terminator: Union[str, NoneType] = None, chunksize: Union[int, NoneType] = None, date_format: Union[str, NoneType] = None, doublequote: bool = True, escapechar: Union[str, NoneType] = None, decimal: Union[str, NoneType] = '.') → Union[str, NoneType]
複製代碼
能夠看到的是 to_csv()
比較 to_excel()
有着更多的參數,實際上,咱們一些經常使用的參數並很少,小編下面接着給出一個比較複雜的導出示例:
df.to_csv(path_or_buf=r'D:\Development\Projects\demo.csv', # 設置導出路徑
index=False, # 設置索引不顯示
sep=',', # 設置分隔符號
na_rep='0', # 缺失值處理
columns=['編號', '姓名'], # 設置要導出的列
encoding='utf-8', # 設置編碼格式
)
複製代碼
註釋都已經寫得很清楚了,就不在多作介紹了。
本篇文章的就先到這裏了,這也是 Pandas 系列的最後一篇,從下一篇開始,咱們開始介紹數據可視化 Matplotlib 的使用,但願你們多多關注呦~
老規矩,全部的示例代碼都會上傳至代碼管理倉庫 Github 和 Gitee 上,方便你們取用。