小白學 Python 數據分析(14):Pandas (十三)數據導出

人生苦短,我用 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 ,當時沒有詳細介紹,本文咱們詳細介紹一下數據導出。

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() 這個方法中的參數仍是比較多的,咱們挑幾個經常使用的介紹一下:

  • excel_writer :文件路徑或現有的ExcelWriter
  • sheet_name :字符串,默認是 「Sheet1」
  • float_format :格式化浮點數的字符串
  • header :寫出列名。若是給定字符串列表,則假定它是列名稱的別名。
  • index :寫索引
  • columns :設置要導出的列
  • encoding :編碼格式,通常咱們選擇 'utf-8'
  • na_rep :缺失值處理
  • inf_rep :無窮值的處理

接下來看示例,這個示例小編會盡可能寫得複雜一點,把咱們上面的屬性儘量的都用上,而且標註好註釋:

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 導出

在導出 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 上,方便你們取用。

示例代碼-Github

示例代碼-Gitee

您的掃碼關注,是對小編堅持原創的最大鼓勵:)
相關文章
相關標籤/搜索