直接保存 DataFrame 表格到本地,這個「騷操作」你還不知道?

2021-03-02 CSDN

知識是需要積累的,有些冷知識、騷操作,你可能現在不需要,但是只有當你玩兒過,以後再碰到這個需求,你才會有印象,方便查詢。引入問題其實,這個知識點也是在群裡面遇到了,如果當時問我,我也會很蒙逼。因此,我做了一個簡單的學習,並將其整理後,供大家學習和參考。比如說:我們得到了一個df_new表格,我們想要將其保存在本地,應該怎麼辦呢?保存圖片,你可能用的多。但是保存這個表格,你估計就不一定知道了。為什麼需要將df_new保存在本地呢?其實提問者是為了將表格保存在本地,後面需要完成自動化群發消息的操作,這樣一來,你不僅僅可以發圖片,現在還可以發表格了,是不是很舒服?那麼,這樣一個操作,應該怎麼完成呢?下面我為大家慢慢講述。方法介紹


完成這個需求使用的是dataframe_image庫,因此在使用他之前,需要我們先安裝這個庫。

pip install dataframe_imageip install dataframe_image

import dataframe_image as dfi

接著,調用dfi中的export()方法,就可以實現這個需求。但是關於這個知識點,你在百度上面其實看不到任何解答,那麼你應該怎麼學習呢?我們以jupyter notebook為例,進行說明。直接在單元格中輸入??dfi.export,然後運行,即可出現詳細幫助文檔。

dfi.export(obj, filename, fontsize=14, max_rows=None, max_cols=None, table_conversion='chrome', chrome_path=None)

obj:表示的是待保存的DataFrame數據框;

filename:表示的是圖片保存的本地路徑;

fontsize:表示的是待保存圖片中字體大小,默認是14;

max_rows:表示的是DataFrame輸出的最大行數。這個數字被傳遞給DataFrame的to_html方法。為防止意外創建具有大量行的圖像,具有100行以上的DataFrame將引發錯誤。顯式設置此參數以覆蓋此錯誤,對所有行使用-1。

max_cols:表示的是DataFrame輸出的最大列數。這個數字被傳遞給DataFrame的to_html方法。為防止意外創建具有大量列的圖像,包含30列以上的DataFrame將引發錯誤。顯式設置此參數以覆蓋此錯誤,對所有列使用-1。

table_conversion:'chrome'或'matplotlib',默認為'chrome'。DataFrames將通過Chrome或matplotlib轉換為png。除非無法正常使用,否則請使用chrome。matplotlib提供了一個不錯的選擇。

可以看到:這個方法其實就是通過chrome瀏覽器,將這個DataFrames轉換為png或jpg格式。舉例說明

import pandas as pd

df = pd.read_excel("chaifen.xlsx")
df_new = df.iloc[:5,:]
df_new

通過上面的學習,保存這個DataFrame,只需要兩行代碼。

import dataframe_image as dfi
dfi.export(obj=df_new,filename='df_new.jpg')

可以看到,上述圖片中的字體超級小,然後我們還可以使用fontsize參數,設置字體大小。

import dataframe_image as dfi
dfi.export(obj=df_new,filename='df_new_1.jpg',fontsize=30)

該知識點就說到這裡,關於其他的參數,大家可以自行下去嘗試。

更多精彩推薦

☞螞蟻集團兩地上市暫緩,阿里巴巴股價大跌,員工快到手的大 House 飛了!

☞任正非:明年至少招聘 8000 名應屆生,華為人才將分為三類

☞在嗎?我要講件大事了,你絕對不知道CSDN公眾號還有這個功能!錯過後悔!

☞隱私數據在隱私AI框架中的安全流動

☞荷蘭政府用大數據預測天氣預防自然災害,他們是怎麼做的?

☞以太坊開發者的常見誤解

相關焦點

  • paipai教你pandas(1) DataFrame的列維度操作
    paipai教你pandas教程系列的第1篇文章,DataFrame是表格型的數據類型,有列和行兩個維度,本篇教程講解pandas
  • R語言 | 數據框data.frame操作一網打盡
    數據框的計算,按某列求平均值 (數據透視表)數據框(data.frame)在R中使用的十分廣泛。只要你用read.table輸入數據,基本都是data.frame類別的數據。Data Frame一般被翻譯為數據框,就像是R中的Excel表,由行和列組成。
  • 什麼是Pandas的DataFrame?
    創建DataFrame最常用的一種是直接傳入一個由等長列表或NumPy數組組成的字典:In [33]: data={'state':['Ohio','Ohio','Ohio','Nevada','Nevada'],'year':[2000,2001,2002,2001,2002],'pop':[1.5,1.7,3.6,2.4,2.9
  • Python-Pandas安裝--Series結構和DataFrame結構
    』:3}分別映射到非常複雜的一串數值存儲到內存,新的key加入字典當中,也會先進行映射;如果與字典存儲相同的值,就會跟原有的結果覆蓋,所以字典當中的key是不可以重複的 可作為字典的key:int、float、string、tuple不可作為字典的key:list、集合(Q:為什麼不可作為key?
  • 將Python中的字典數據轉化為DataFrame
    我們需要做的是把這個表格樣式的數據,用Python的字典表示——數據量小,不費事。三步,這是基本操作,比較簡單。但是,有時候你遇到的情況可能比這複雜一些。到現在為止,我們使用的就是pd.DataFrame(data)實現了轉化。其實,還有一些參數,如果使用了,能夠讓轉化的結果更多樣。
  • Pandas常用的兩種數據類型之「DataFrame」
    列操作# 語法:d[索引]# df=pd.DataFrame({"A":[1,2,3],"B":[4,5,6],"C":[7,8,9]})# 注意,在列索引的時候,也應該使用loc和iloc在對位置和索引名字進行區分# 為了操作方便,在使用dataframe多數都是在處理二維數據,都有列標籤的名字# 默認傳入的標籤都是索引名字# display(df)
  • Pandas-DataFrame基礎知識點總結
    根據字典創建data = {    'state':['Ohio','Ohio','Ohio','Nevada','Nevada'],    'year':[2000,2001,2002,2001,2002],    'pop':[1.5,1.7,3.6,2.4,2.9]}frame = pd.DataFrame(data)frame#輸出    pop state
  • Vaex:一種具有超級字符串功能的DataFrame Python庫
    隨著數據變得越來越大,你必須小心不會出現內存錯誤MemoryError。切換到功能更強大的機器可能會解決一些內存問題,但現在你的其他31個核心處於空閒狀態。Pandas只會使用你花哨機器的32個核心中的一個。使用Vaex,所有字符串操作都在並行執行,並且可以延後進行評估,從而可以毫不費力地處理十億行數據集。「字符串處理快了近1000倍,相當於1分鐘而不是15小時!」
  • python數據分析專題 (12):DataFrame
    DataFrame是一個表格型的數據結構,它含有一組有序的列,每列可以是不同的值類型(數值、字符串、布爾值等)。
  • 【串講總結】array, list, tensor,Dataframe,Series之間互相轉換總結
    Dataframe創建的方式有很多種,這裡不贅述了。以下舉個例子,因為我們這裡要講的是和array等的轉換,這裡全都用數字型的元素。對於dataframe來說,我們列印出來,結構類似於一個二維矩陣格式,只是每一列和每一個行都有個index,這並且這些結構之間有很多方便的操作,在讀入結構化數據的時候尤為方便,所以平時做偏結構化數據的時候, 比如excel、pickle等等,pandas的使用是繞不開的。
  • Pandas系列 - DataFrame操作
    概覽pandas.DataFrame創建DataFrame列選擇列添加列刪除 pop/del行選擇,添加和刪除行切片數據幀(DataFrame)是二維數據結構,即數據以行和列的表格方式排列數據幀(DataFrame)的功能特點:pandas.DataFrame構造函數:pandas.DataFrame(data, index, columns, dtype, copy)編號參數描述1data
  • 數據分析利器 pandas 系列教程(二):強大的 DataFrame
    dataframe 是表格型的數據結構,由一組有序的列組成,可以看成是由 Series 組成的字典,舉個例子:/namesexcoursegrade0Bobmalemath991Alicefemaleenglish922Joemalechinese893Bobmalechinese884Alicefemalechinese955Joemaleenglish936Bobmaleenglish957Alicefemalemath798Joemalemath89
  • Python數據分析 | 第五章 Pandas入門之Series和DataFrame
    它可以用在許多原本需要字典參數的函數中:In [24]: 'b' in obj2Out[24]: TrueIn [25]: 'e' in obj2Out[25]: False如果數據被存放在一個Python字典中,也可以直接通過這個字典來創建
  • pandas | 詳解DataFrame中的apply與applymap方法
    在上一篇文章當中,我們介紹了panads的一些計算方法,比如兩個dataframe的四則運算,以及dataframe填充Null的方法。今天這篇文章我們來聊聊dataframe中的廣播機制,以及apply函數的使用方法。
  • 如何使用iloc和loc 對Pandas Dataframe進行索引和切片
    Pandas Dataframe在我們學習如何使用loc和iloc之前,我們最好先了解一下Pandas dataframe對象是如何工作的。對於本索引和切片教程的特定目的,我們最好知道dataframe中的每個行和列都有一個數字——一個索引。
  • Pandas數據結構:DataFrame
    , 18],"city": ["BeiJing", "TianJin", "ShenZhen"]}print(data)print("")frame = pd.DataFrame(data) # 創建DataFrame
  • 數據集的「乾坤大挪移」:如何使pandas.Dataframe從行式到列式?
    有很多種方法可以做到這一點,但pandas的melt()方法是其中最靈活的一種,你只需要學好這種就足夠了。本文將傳授給你數據集的「乾坤大挪移」大法,使用pd.melt()或melt方法使pandas. dataframe發生形變。一起來看看吧!行式vs寬式數據集如果我們將一個行式數據集與列式數據集進行比較,最容易理解行式數據集是什麼樣?
  • spark結構化數據處理:Spark SQL、DataFrame和Dataset
    可以從JVM對象構造出Dataset,然後使用類似於RDD的函數式轉換算子(map/flatMap/filter等)對其進行操作。Dataset通過Encoder實現了自定義的序列化格式,使得某些操作可以在無需解序列化的情況下直接進行。另外Dataset還進行了包括Tungsten優化在內的很多性能方面的優化。
  • 騷操作-將sna包中全部layout都要用ggplot模塊化展示出來
    /ori_data/ps_liu.rds")pscorMicro函數用於計算相關按照豐度過濾微生物表格,並卻計算相關矩陣,按照指定的閾值挑選矩陣中展示的數值。,一列是節點,一列是分組信息,這個分組信息名稱為:group。
  • Pandas數據結構之DataFrame常見操作
    還可以傳遞帶參數的函數,在 assign 的 DataFrame 上求值。首先執行的是篩選操作,再計算比例。這個例子就是對沒有事先篩選 DataFrame 進行的引用。assign 函數籤名就是 **kwargs。鍵是新欄位的列名,值為是插入值(例如,Series 或 NumPy 數組),或把 DataFrame 當做調用參數的函數。返回結果是插入新值的 DataFrame 副本。0.23.0 版新增。