python使用pandas按照行數(shù)分割表格
問題
- 一張excel表格,大概1萬行,需要錄入系統(tǒng)
- 系統(tǒng)每次最多只能錄入500行表格數(shù)據(jù),一旦超過500行,就會(huì)錄入失敗
- 需要把1萬行的數(shù)據(jù)按照500行分割,形成20個(gè)表格,這樣才能錄入系統(tǒng)
思路
- 使用pandas得到總行數(shù),比如10002行,分割表格的時(shí)候,要保留一行表頭
- 第一張表,是1-500行,第二張表是 501-1000,以此類推
- 最后一張表應(yīng)該是1000-10002行,生成的表格數(shù)量是10000/500+1,21張
- 生成的表格按照順序保存到一個(gè)目錄中
- 寫一個(gè)函數(shù),可以按照任意指定的分割數(shù)量進(jìn)行分割。
代碼實(shí)現(xiàn)
#按行數(shù)分割表格函數(shù)
#問題
#1.如果有有一個(gè)十萬行表格,要錄入系統(tǒng),但是系統(tǒng)每次最多只能錄入500行?
#解決問題:
#1.按照指定的行數(shù)分割表格
#2.分割出來的表格按照序號(hào)命名
import pandas as pd
import os
def SplitExcel(file,num):
file_dir='result' #創(chuàng)建目錄
if os.path.isdir(file_dir):
os.rmdir(file_dir)
else:
os.mkdir(file_dir)
n = 1
row_list = []
df = pd.DataFrame(pd.read_excel(file, sheet_name=0))
row_num = int(df.shape[0]) # 獲取行數(shù)
if num >= row_num: #如果分割行數(shù)大于總行數(shù),報(bào)錯(cuò)
raise Exception('too much!!')
try:
for i in list(range(num,row_num,num)):
row_list.append(i)
row_list.append(row_num) # 得到完整列表
except Exception as e:
print (e)
(name,ext)=os.path.splitext(file) #獲取文件名
for m in row_list:
filename=os.path.join(file_dir,name+'-' + str(n) + '.xlsx')
if m <row_num:
df_handle=df.iloc[m-num:m] #獲取n行之前
print (df_handle)
df_handle.to_excel(filename , sheet_name='sheet1',index=False)
elif m == int(row_num):
remainder=int(int(row_num)%num) #余數(shù)
df_handle=df.iloc[m-remainder:m] #獲取最后不能整除的行
df_handle.to_excel(filename , sheet_name='sheet1', index=False)
n = n + 1
if __name__=='__main__':
file= 'result.xls'
SplitExcel(file,num=10)
測(cè)試效果
一張83行的表格,去除表頭,一共82行,按照10行分割,一共要獲得9張表格,最后一張表格,應(yīng)該只有兩行,中間的表格,數(shù)據(jù)必須是連續(xù)的,
分割前


分割后



到此這篇關(guān)于python使用pandas按照行數(shù)分割表格的文章就介紹到這了,更多相關(guān)pandas按行分割表格內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
分析總結(jié)Python數(shù)據(jù)化運(yùn)營KMeans聚類
本文主要以 Python 使用 Keans 進(jìn)行聚類分析的簡單舉例應(yīng)用介紹聚類分析,它是探索性數(shù)據(jù)挖掘的主要任務(wù),也是統(tǒng)計(jì)數(shù)據(jù)分析的常用技術(shù),用于許多領(lǐng)域2021-08-08
Python中的反射知識(shí)點(diǎn)總結(jié)
在本篇文章里小編給大家整理了一篇關(guān)于Python中的反射知識(shí)點(diǎn)總結(jié)內(nèi)容,有需要的朋友們可以跟著學(xué)習(xí)參考下。2021-11-11
django之靜態(tài)文件 django 2.0 在網(wǎng)頁中顯示圖片的例子
今天小編就為大家分享一篇django之靜態(tài)文件 django 2.0 在網(wǎng)頁中顯示圖片的例子,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2019-07-07
linux環(huán)境下的python安裝過程圖解(含setuptools)
這篇文章主要介紹了linux環(huán)境下的python安裝過程圖解(含setuptools),小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2017-11-11
對(duì)Python中的@classmethod用法詳解
下面小編就為大家分享一篇對(duì)Python中的@classmethod用法詳解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2018-04-04
pytorch常用數(shù)據(jù)類型所占字節(jié)數(shù)對(duì)照表一覽
這篇文章主要介紹了pytorch常用數(shù)據(jù)類型所占字節(jié)數(shù)對(duì)照表一覽,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-05-05

