Excel檔案處理之pandas

2022-08-29 10:51:11 字數 2135 閱讀 7974

pandas可以用來處理多種儲存型別的資料,比如excel、csv、html、sql......檢視pandas.read_xx方法可以看出。本文主要總結對excel的處理。pandas依賴處理excel的xlrd等模組,這些模組安裝即可,不需要import。

1讀取

1.1多個sheet

import  pandas as pd

a=pd.read_excel("3.xlsx",sheet_name=[1,2]) #獲取第2個和第3個sheet

c=a.values #獲取上述sheets所有資料,注意多個sheets時不能用head()方法

1.2單個sheet

import  pandas as pd

a=pd.read_excel("3.xlsx",sheet_name="top10") #或者寫成sheet_name=1,1表示index

b=a.head() #預設讀取上述sheet前5行的資料

c=a.values #獲取上述sheet所有資料,單個sheet也能用values方法

1.3獲取行列值、單元格值(所有索引都不包含表頭)

import  pandas as pd

a=pd.read_excel("3.xlsx",sheet_name=1)

#以下都秉承格式 a.ix[行,列]

cellvalue=a.ix[0,0] #表示單元格 第1行第1列的值

cellvalue=a.ix[0,'name']  #表示單元格 第1行列'name'的值

rowvalues=a.ix[0] #表示第1行的所有值,注意是表頭下面的第1行!a.ix[0] 等價 a.ix[0,:]

rowsvalues=a.ix[[0,1,3]]#表示第1、2、4行的所有值,注意巢狀列表!a.ix[[0,1,3]] 等價 a.ix[[0,1,3],:]

colvalues=a.ix[:,0] #表示第1列的所有值

colsvalues=a.ix[:,['name','score']] #表示列'name'和'score'的所有值

rangevalues=a.ix[[0,1,4],['name','score']] #表示 第1、2、5行~列'name'列'score'  區域的所有值

1.4 a.ix[0]和a.ix[0].values的返回格式不同

b=a.ix[1].values

print type(b)  

輸出:《type 'numpy.ndarray'》

print b 

輸出:[u'a2' u'n1' 99]

c=a.ix[1]

print type(c) 

輸出:《class 'pandas.core.series.series'》 

print c 

輸出:name    a2

grade    n1

score    99

name: 1, dtype: object

2寫存

import  pandas as pd

a=pd.read_excel("3.xlsx",sheet_name=1) #讀取第2個sheet

a.ix[1,1]='123456' #賦值

a.to_excel('3-2.xlsx', sheet_name='num', index=false, header=true) #儲存,sheet命名

上述**有2大弊端:

原sheet的range(3,2)區域內必須有值,否則報錯:cannot set by positional indexing with enlargement;

儲存時僅生成被處理sheet,不需處理的sheet不會複製過來。excel同名會覆蓋原檔案,極易造成sheet丟失。

如此看來,不如openpyxl庫好用。

3相對路徑

train = pd.read_csv("data/train.csv")

注意不要寫成("/data/train.csv")或者其它。

** **

panda之excel操作總結(個人總結)

收集了一些經濟資料,這個是關於excel的一部分總結 在特定位置插入列 data.insert 2 c 2 插入的列的位置 c 待插入列的列名 插入的值,這裡插入的是空值 data out 56 a b c01 2134 data.insert 0 d 1,2 data out 71 d a b c...

python統計excel利用pandans的分組

python統計excel利用pandans的分組,其中還用列表資料求差集 csv資料結構 有三個按照日期統計的csv 需要統計出這三張csv按照areaid缺少的type和bdtype 其中type 1,2,3,4 bdtype 1,3,4 原始碼如下 第一步資料初步處理刪除非必須列 coding...

NPOI 處理excel檔案

npoi 2.4.1 首先去設定下webconfig裡面上傳檔案大小的設定,我設定了允許上傳最大100m。話不多說,上mvc 後台 上傳檔案,上傳實體檔案 與前端post的引數名一致 上傳實體檔案 excel轉為datatable 需要轉換的isheet物件 表頭所在行 private static...