Python 使用Pandas讀取Excel的學習筆記


這里介紹Python中使用Pandas讀取Excel的方法

一、軟件環境:

   OS:Win7 64位

  Python 3.7

二、文件准備

     1、項目結構:

    

      2、在當前實驗文件夾下建立一個Source文件夾,里面放待讀取的Excel文件

      3、待讀取的Excel文件名:Book1.xlsx,Sheet Name:Sheet1

      內容示例:

    

三、代碼參考

代碼中已進行了注釋說明,這里就不重復說明了。

1、第一行作為列名處理,數據的第1行實際是從Excel的第2行開始,數據的最大行數等於Excel的最大行數減1

#! -*- coding utf-8 -*-
#! @Time  :2019/3/20 22:00
#! Author :Frank Zhang
#! @File  :Pandas_ReadExcelV1.0.py
#! Python Version 3.7

"""
模塊功能:讀取當前文件夾下的Source里的Excel文件,顯示其相關信息

說明:默認把Excel的第一行當做列名,數據的第1行是從Excel的第2行開始
      這里獲取的最大行是Excel的最大行減去作為列名的第1行

"""

import pandas as pd
 
sExcelFile="./Source/Book1.xlsx"
df = pd.read_excel(sExcelFile,sheet_name='Sheet1')

#獲取最大行,最大列
nrows=df.shape[0]
ncols=df.columns.size


print("=========================================================================")
print('Max Rows:'+str(nrows))
print('Max Columns'+str(ncols))

#顯示列名,以列表形式顯示
print(df.columns)

#顯示列名,並顯示列名的序號
for iCol in range(ncols):
    print(str(iCol)+':'+df.columns[iCol])

#列出特定行列,單元格的值
print(df.iloc[0,0])
print(df.iloc[0,1])

print("=========================================================================")

#查看某列內容
#sColumnName='fd1'
print(df[sColumnName])

#查看第3列的內容,列的序號從0開始
sColumnName=df.columns[2]
print(df[sColumnName])

#查看某行的內容
iRow=1
for iCol in range(ncols):
    print(df.iloc[iRow,iCol])

#遍歷逐行逐列
for iRow in range(nrows):
    for iCol in range(ncols):
        print(df.iloc[iRow,iCol])

print('=====================================End==================================')

2、不把第1行作為列名,讀取Excel那就沒有列名,需增加參數:header=None

代碼如下:

#! -*- coding utf-8 -*-
#! @Time  :2019/3/20 9:44
#! Author :Frank Zhang
#! @File  :Pandas_ReadExcelV1.1.py
#! Python Version 3.7

"""
模塊功能:讀取當前文件夾下的Source里的Excel文件,顯示其相關信息

說明:數據從第1行開始,不設列名,不把第1行作為列名
      這里獲取的最大行就是是Excel的最大行

"""

import pandas as pd
 
sExcelFile="./Source/Book1.xlsx"

df = pd.read_excel(sExcelFile,sheet_name='Sheet1',header=None)

#獲取最大行和最大列數
nrows=df.shape[0]
ncols=df.columns.size
 
print("=====================================================")
print('Max Rows: '+str(nrows))
print('Max Columns: '+str(ncols))

#顯示某特定單元格的值
print(df.iloc[0,0])
print(df.iloc[0,1])
print("=====================================================")

#查看某行的內容
print("====================顯示某一行=======================")
#iRow=1
print("請輸入行號(1-"+str(nrows)+"):")
iRow=int(input())-1
for iCol in range(ncols):
    print(df.iloc[iRow,iCol])

print("====================顯示某一列=======================")
#iCol=1
print("請輸入列號(1-"+str(ncols)+"):")
iCol=int(input())-1
if iCol>=0 and iCol<=ncols:
    for iRow in range(nrows):
        print(df.iloc[iRow,iCol])
else:
    print('輸入了錯誤的列號')
 
 
#遍歷逐行逐列
print("\n逐行逐列顯示:")
for iRow in range(nrows):
    for iCol in range(ncols):
        print(df.iloc[iRow,iCol])
    
print('=========================End=========================')

示例2增加了動態輸入行號和列號,顯示相應行列的內容。

 

這兩個示例都是可以運行的。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM