国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

Python之如何使用pandas操作Excel表

這篇具有很好參考價值的文章主要介紹了Python之如何使用pandas操作Excel表。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

目錄

1、前言

2、讀取Excel

3、對Excel進行操作

3.1、獲取行號、列名

?3.2、獲取單元格的值,并循環(huán)輸出

?3.3、對空值進行處理,替換

?3.4、增加一列,并對新增列的第一行進行賦值

3.5、將修改后數(shù)據(jù)保存到原文檔

?3.6、關(guān)于循環(huán)取數(shù)

4、錯誤處理

5、全部代碼


1、前言

網(wǎng)上也有很多關(guān)于如何使用pandas對Excel表格進行操作的文章,本文純當記錄

Excel原文件數(shù)據(jù)如下:

Python之如何使用pandas操作Excel表

2、讀取Excel

對Excel操作分兩步:

1、首先要導入pandas庫

2、設(shè)置Excel文件路徑

注意:

pandas.read_excel(file, sheet_name=0, keep_default_na=False)
1、file為要讀取的Excel文件
2、sheet_name表示要讀取的sheet名,0表示第一個sheet,1表示第2個sheet,依次類推;也可以直接寫sheet的名稱,如sheet_name='Sheet1'
3、當Excel中有空值時,直接讀取會顯示nan,read_excel方法中加上keep_default_na=False后,
空值nan會變成:'' 空字符串,后續(xù)可用if cell_data=='' 進行判斷

代碼如下:

import pandas

file = r'D:\student.xlsx'

class opexcel():
? ? def getdata(self, file):
? ? ? ? data = pandas.read_excel(file, sheet_name=0, keep_default_na=False)
? ? ? ? print(type(data)) # 輸出數(shù)據(jù)類型(DataFrame)
? ? ? ? print(data) ?# 輸出數(shù)據(jù)

if __name__ == '__main__':
? ? opexcel().getdata(file)

打印結(jié)果如下:

Python之如何使用pandas操作Excel表

3、對Excel進行操作

3.1、獲取行號、列名

? ? ? ? row_index = data.index.values ?# 行號: 數(shù)組形式<class 'numpy.ndarray'> [0 1 2 3 4 5 6 7 8]
? ? ? ? print('行號是:%s' % row_index)
? ? ? ? row_num = len(data.index.values) ?# 行數(shù)
? ? ? ? print('行數(shù)是:%s' % row_num)
? ? ? ? col_index = data.columns.values ?# 列名: 數(shù)組形式<class 'numpy.ndarray'>['姓名' '性別' '年齡' '住址' '愛好']
? ? ? ? print('列名是:%s' % col_index)
? ? ? ? col_num = len(data.columns.values) ?# 列數(shù)
? ? ? ? print('列數(shù)是:%s' % col_num)

打印結(jié)果:

Python之如何使用pandas操作Excel表

?3.2、獲取單元格的值,并循環(huán)輸出

? ? ? ? for i in range(row_num): # 循環(huán)行數(shù)
? ? ? ? ? ? for j in range(col_num): # 循環(huán)列數(shù)
? ? ? ? ? ? ? ? cell_data=data.iloc[i,j] # 獲取單元格的值
? ? ? ? ? ? ? ? ???print('第%s行,第%s列的數(shù)據(jù)是:%s ' %(i,i,cell_data))

打印結(jié)果如下:

Python之如何使用pandas操作Excel表

?3.3、對空值進行處理,替換

Excel文件中,某個單元格的值可能為空,直接讀取會顯示nan,且各個單元格的數(shù)據(jù)類型可能不一致,如date、str、int、float。這時如果直接讀取,使用numpy.isnan()或者pandas.isnull()進行判斷,都可能會報錯,所以在開頭讀取Excel文件的方法pandas.read_excel(file, sheet_name=0, keep_default_na=False)中加上keep_default_na=False后,空值nan會變成:'' 空字符串。

現(xiàn)在我們想要將Excel中所有為空的單元格,替換為NULL字符串,操作如下

1、取出所有列名

2、循環(huán)列名,對空值替換(據(jù)實踐,只有列名才有.replace()方法)

col_index = data.columns.values  # 列名
for col in col_index :
    data[col].replace('','NULL',inplace=True)
????# 第一個參數(shù)是替換前的值,即Excel表指定列的值,如有多個相同的值,后續(xù)都會被替換
??????第二個參數(shù)是替換后的值,此處為字符串'NULL',也可填數(shù)字、或其他類型
??????第三個參數(shù),是否替換,True為替換
    print(data)
打印結(jié)果如下:

Python之如何使用pandas操作Excel表

如要將上方結(jié)果中【愛好】這一列的【無】,替換為羽毛球,操作如下:

data['愛好'].replace('無','羽毛球',inplace=True)

結(jié)果如下:

Python之如何使用pandas操作Excel表

?3.4、增加一列,并對新增列的第一行進行賦值

新增一列【成績】,并賦值未None:

data['成績']=None

打印結(jié)果如下:

Python之如何使用pandas操作Excel表

?修改增列的第一行的值為50:

data['成績'][0]=50?

打印結(jié)果如下:

Python之如何使用pandas操作Excel表

?3.5、將修改后數(shù)據(jù)保存到原文檔

注意:以上操作中將空值替換、新增列、修改單元格數(shù)據(jù)等編輯操作,只在控制臺有效,實際文件的內(nèi)容并不會被改變

file = r'D:\student.xlsx'

data.to_excel(file,sheet_name='Sheet1',index=False,header=True)

?# 用DataFrame的to_excel方法可將編輯后的數(shù)據(jù)進行保存(前面第一節(jié)已知data為DataFrame類型)

1、第一個參數(shù)file,表示數(shù)據(jù)將要保存到這個文件??梢允窃募?r'D:\student.xlsx'),如果寫另外的文件(r'D:/test/newstudent.xlsx'),則數(shù)據(jù)將保存到另一個文件中,原文件數(shù)據(jù)不變

2、第二個參數(shù)sheet_name,表示將數(shù)據(jù)保存到文件的哪一個sheet工作表。如工作表不存在則會報錯。

3、第三個參數(shù)index,表示工作表自帶的序號。如果設(shè)置index=True,則保存后的數(shù)據(jù)將多出一列

4、第四個參數(shù)header,表示列名。設(shè)置header=True,保存后的數(shù)據(jù)將帶上列名;設(shè)置header=False,保存后的數(shù)據(jù)將沒有列名

注意:

讀取文件的時候,sheet_name可以寫成 sheet_name=0或 sheet_name='Sheet1'

data = pandas.read_excel(file, sheet_name=0,keep_default_na=False)

寫入文件的時候,只能填寫工作表的名稱sheet_name='Sheet1'

保存后的數(shù)據(jù)如下:

Python之如何使用pandas操作Excel表

設(shè)置index=True,結(jié)果如下:

Python之如何使用pandas操作Excel表

?設(shè)置header=False,結(jié)果如下:

Python之如何使用pandas操作Excel表

?3.6、關(guān)于循環(huán)取數(shù)

col_index = data.columns.values  # 列名 ['姓名' '性別' '年齡' '住址' '愛好' '成績']
數(shù)組,用in進行循環(huán)取值:for i in col_index:
col_num = len(data.columns.values)  # 列數(shù) 6
數(shù)值,用rang進行循環(huán)取數(shù):for i in range(col_num :

3.7、字符串分割

url=data['URL'][0] # https://blog.csdn.net/m0_46400195/article/detailspy
print(url)
print(type(url))
str1=str(data['URL'][0]).split('/')
# 注意: 雖然顯示URL為str類型,但是仍然要先將data['URL'][0]轉(zhuǎn)為str,才能使用.split方法進行分割。str(data['URL'][0]).split('/'),也可以寫成str(url).split('/')
print(str1) # 打印分割后的結(jié)果
newstr1=str1[0]+'//'+str1[2]+'/'+str1[3]+'/'+'druid' #根據(jù)分割后的信息進行拼接
newstr2 = str1[0] + '//' + str1[2] + '/' + str1[3]+'/' + 'druid/index.html'
print(newstr1) #打印拼接后的字符串
print(newstr2)
打印結(jié)果如下:

Python之如何使用pandas操作Excel表

4、錯誤處理

1、PermissionError: [Errno 13] Permission denied

這個錯誤出現(xiàn)可能是文件未關(guān)閉,關(guān)閉后再操作即可。還有可能是文件損壞了,打開文件,確認文件內(nèi)容是否正常

2、……文章來源地址http://www.zghlxwxcb.cn/news/detail-406331.html

5、全部代碼

import pandas
import requests
from pandas import DataFrame
import xlwt
'''
1、當Excel中有空值時,直接讀取會顯示nan,read_excel方法中加上keep_default_na=False后,
空值nan會變成:‘’ 空字符串,后續(xù)可用if cell_data=='' 進行判斷
2、col_index = data.columns.values  # 列名
   數(shù)組col_index:['序號' '是否導出' '所屬單位'],用in進行循環(huán)取值:for i in col_index:
   row_num = len(data.index.values)  # 行數(shù)
   數(shù)值row_num:用rang進行循環(huán)取數(shù):for i in range(row_num):
'''
file = r'D:\student.xlsx'


class opexcel():
    def getdata(self, file):
        data = pandas.read_excel(file, sheet_name=0,keep_default_na=False)
        # 當Excel中有空值時,直接讀取會顯示nan,read_excel方法中加上keep_default_na=False后,
        # 空值nan會變成:‘’ 空字符串,后續(xù)可用if cell_data=='' 進行判斷
        # print(type(data))
        # print(data)  # 輸出數(shù)據(jù)
        row_index = data.index.values  # 行號: 數(shù)組形式<class 'numpy.ndarray'> [0 1 2 3 4 5 6 7 8]
        print('行號是:%s' % row_index)
        row_num = len(data.index.values)  # 行數(shù)
        print('行數(shù)是:%s' % row_num)
        col_index = data.columns.values  # 列名: 數(shù)組形式<class 'numpy.ndarray'>['序號' '是否導出' '所屬單位' '項目名稱' '項目']
        print('列名是:%s' % col_index)
        col_num = len(data.columns.values)  # 列數(shù)
        print('列數(shù)是:%s' % col_num)
        # data['result']=None
        # data.to_excel(r'D:\userCase11.xls', sheet_name='Sheet1', index=False, header=True)
        # for i in range(row_num): # 循環(huán)行數(shù)
        #     for j in range(col_num): # 循環(huán)列數(shù)
        #         cell_data=data.iloc[i,j] # 獲取單元格的值
        #         print('第%s行,第%s列的數(shù)據(jù)是:%s ' %(i,i,cell_data))
        #
        # for col in col_index :
        #     data[col].replace('','NULL',inplace=True)
        #     print(data)
        #
        # data['愛好'].replace('無','羽毛球',inplace=True)
        # print(data)
        # data['成績']=None
        # print(data)
        # data['成績'][0]=50
        # print(data)
        # data.to_excel(file,sheet_name='Sheet1',index=False,header=False)




if __name__ == '__main__':
    opexcel().getdata(file)

到了這里,關(guān)于Python之如何使用pandas操作Excel表的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔相關(guān)法律責任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費用

相關(guān)文章

  • 【Python】使用pandas將數(shù)據(jù)寫入excel文件中

    本文主要簡單介紹一下使用python的pandas庫來將數(shù)據(jù)寫入到excel文件中。 示例:pandas 是基于NumPy 的一種工具,該工具是為了解決數(shù)據(jù)分析任務(wù)而創(chuàng)建的。在命令行輸入pip install pandas進行安裝即可,如果安裝不成功,有安裝Pycharm的小伙伴也可以進入python interpreter界面,搜索pand

    2024年02月15日
    瀏覽(27)
  • [數(shù)據(jù)分析實戰(zhàn)]對比用Excel和Python用來做數(shù)據(jù)分析的優(yōu)缺點,用Python的Pandas操作Excel數(shù)據(jù)表格原來如此簡單?還不趕緊學起來?

    [數(shù)據(jù)分析實戰(zhàn)]對比用Excel和Python用來做數(shù)據(jù)分析的優(yōu)缺點,用Python的Pandas操作Excel數(shù)據(jù)表格原來如此簡單?還不趕緊學起來?

    目錄 首先,我先總結(jié)一下用Excel和Python用來做數(shù)據(jù)分析的優(yōu)缺點 Excel做數(shù)據(jù)分析的優(yōu)點: Excel做數(shù)據(jù)分析的缺點: Python做數(shù)據(jù)分析的優(yōu)點: Python做數(shù)據(jù)分析的缺點: 1.展示本例子中使用的數(shù)據(jù) 2.開始動手 一、導入數(shù)據(jù)以及理解數(shù)據(jù)部分? 1.1查看數(shù)據(jù)維度(行列) 2.2.查看數(shù)據(jù)格

    2024年02月04日
    瀏覽(21)
  • 【Python】進階學習:pandas--read_excel()函數(shù)的基本使用

    【Python】進階學習:pandas--read_excel()函數(shù)的基本使用

    【Python】進階學習:pandas–read_excel()函數(shù)的基本使用 ?? 個人主頁:高斯小哥 ?? 高質(zhì)量專欄:Matplotlib之旅:零基礎(chǔ)精通數(shù)據(jù)可視化、Python基礎(chǔ)【高質(zhì)量合集】、PyTorch零基礎(chǔ)入門教程?? 希望得到您的訂閱和支持~ ?? 創(chuàng)作高質(zhì)量博文(平均質(zhì)量分92+),分享更多關(guān)于深度學習、

    2024年03月09日
    瀏覽(42)
  • pandas操作excel

    pandas操作excel

    目錄 一:創(chuàng)建excel 二:修改excel 三:查找excel 四:刪除數(shù)據(jù) 五:合并excel數(shù)據(jù) 一:創(chuàng)建excel import pandas as pd # 創(chuàng)建DataFrame對象 data = { \\\'Name\\\': [\\\'Alice\\\', \\\'Bob\\\', \\\'Charlie\\\'], \\\'Age\\\': [25, 30, 35], \\\'Salary\\\': [50000, 60000, 70000] } df = pd.DataFrame(data) # 創(chuàng)建ExcelWriter對象 writer = pd.ExcelWriter(\\\'output.xlsx\\\') # 將

    2024年01月21日
    瀏覽(16)
  • 如何使用xlwings庫創(chuàng)建圖表及設(shè)置坐標軸標題文本內(nèi)容----關(guān)于Python里xlwings庫對Excel表格的操作(三十二)

    這篇小筆記主要記錄如何 【如何使用“Chart類”、“Api類\\\"和“Axes函數(shù)”設(shè)置坐標軸標題文本內(nèi)容】 。 前面的小筆記已整理成目錄,可點鏈接去目錄尋找所需更方便。 【目錄部分內(nèi)容如下】【點擊此處可進入目錄】 (1)如何安裝導入xlwings庫; (2)如何在Wps下使用xlwings中

    2024年01月22日
    瀏覽(55)
  • python如何操作excel文件

    Python可以使用多種方式操作Excel文件,下面介紹幾種常用的方法: 使用 openpyxl 庫:openpyxl是一個用于讀寫Excel文件的Python庫,它可以讀取和寫入.xlsx格式的文件。以下是讀取Excel文件的示例代碼: 使用 pandas 庫:pandas庫是一個數(shù)據(jù)分析庫,也可以用來讀取和寫入Excel文件。以下

    2024年02月12日
    瀏覽(25)
  • python如何操作excel,在excel中讀取和寫入數(shù)據(jù)

    python如何操作excel,在excel中讀取和寫入數(shù)據(jù)

    Excel 是 Microsoft 為使用 Windows 和 Apple Macintosh 操作系統(tǒng)的電腦編寫的一款電子表格軟件。直觀的界面、出色的計算功能和圖表工具,再加上成功的市場營銷,使 Excel 成為最流行的個人計算機數(shù)據(jù)處理軟件。在 1993 年,作為 Microsoft Office 的組件發(fā)布了5.0版之后, Excel 就開始成為

    2024年02月03日
    瀏覽(22)
  • 【學習】python之使用pandas提示TypeError: NDFrame.to_excel() got an unexpected keyword argument ‘encoding‘

    【學習】python之使用pandas提示TypeError: NDFrame.to_excel() got an unexpected keyword argument ‘encoding‘

    槳槳,終于有東西可以來記錄解決的問題點啦~ 背景是在使用pandas一直無法轉(zhuǎn)換成excel,排查了很久,終于在做了一個細微的調(diào)整實現(xiàn)成功了。 pandas 是基于NumPy 的一種工具。我的理解:這個包可以實現(xiàn)讀取excel,寫入excel的功能,分別是readexcel,toexcel。 運行報錯提示 Traceback (m

    2024年04月08日
    瀏覽(78)
  • Pandas對Excel文件進行讀取、增刪、打開、保存等操作的代碼實現(xiàn)

    Pandas 是一種基于 NumPy 的開源數(shù)據(jù)分析工具,用于處理和分析大量數(shù)據(jù)。Pandas 模塊提供了一組高效的工具,可以輕松地讀取、處理和分析各種類型的數(shù)據(jù),包括 CSV、Excel、SQL 數(shù)據(jù)庫、JSON 等格式的數(shù)據(jù)。 pd.read_csv() / pd.read_excel() / pd.read_sql() 等:讀取不同格式的數(shù)據(jù)文件或 S

    2024年02月13日
    瀏覽(42)
  • Python 教學 | Pandas 數(shù)據(jù)合并(含目錄文件合并案例)

    Python 教學 | Pandas 數(shù)據(jù)合并(含目錄文件合并案例)

    目錄 Part? 1前言 Part2? Pandas 數(shù)據(jù)合并函數(shù) 1? df.append() 實現(xiàn)數(shù)據(jù)追加 (1)向表中追加相同結(jié)構(gòu)的表 (2)向表中追加不同結(jié)構(gòu)的表 (3)向數(shù)據(jù)中添加一行 2? pd.concat() 實現(xiàn)數(shù)據(jù)連接 (1)多個相同結(jié)構(gòu)數(shù)據(jù)縱向合并 (2)多個結(jié)構(gòu)不同的數(shù)據(jù)縱向合并 (3)多個數(shù)據(jù)橫向合并

    2024年01月17日
    瀏覽(27)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包