濮阳杆衣贸易有限公司

主頁 > 知識庫 > python使用pandas按照行數(shù)分割表格

python使用pandas按照行數(shù)分割表格

熱門標(biāo)簽:西青語音電銷機(jī)器人哪家好 地圖標(biāo)注與注銷 成都呼叫中心外呼系統(tǒng)哪家強(qiáng) 無錫智能外呼系統(tǒng)好用嗎 南昌地圖標(biāo)注 宿州電話機(jī)器人哪家好 百應(yīng)電話機(jī)器人總部 旅游廁所地圖標(biāo)注怎么弄 電梯新時達(dá)系統(tǒng)外呼顯示e

問題

  • 一張excel表格,大概1萬行,需要錄入系統(tǒng)
  • 系統(tǒng)每次最多只能錄入500行表格數(shù)據(jù),一旦超過500行,就會錄入失敗
  • 需要把1萬行的數(shù)據(jù)按照500行分割,形成20個表格,這樣才能錄入系統(tǒng)

思路

  • 使用pandas得到總行數(shù),比如10002行,分割表格的時候,要保留一行表頭
  • 第一張表,是1-500行,第二張表是 501-1000,以此類推
  • 最后一張表應(yīng)該是1000-10002行,生成的表格數(shù)量是10000/500+1,21張
  • 生成的表格按照順序保存到一個目錄中
  • 寫一個函數(shù),可以按照任意指定的分割數(shù)量進(jìn)行分割。

代碼實(shí)現(xiàn)

#按行數(shù)分割表格函數(shù)
#問題
#1.如果有有一個十萬行表格,要錄入系統(tǒng),但是系統(tǒng)每次最多只能錄入500行?
#解決問題:
#1.按照指定的行數(shù)分割表格
#2.分割出來的表格按照序號命名
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)錯
        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)

測試效果

一張83行的表格,去除表頭,一共82行,按照10行分割,一共要獲得9張表格,最后一張表格,應(yīng)該只有兩行,中間的表格,數(shù)據(jù)必須是連續(xù)的,

分割前

分割后

到此這篇關(guān)于python使用pandas按照行數(shù)分割表格的文章就介紹到這了,更多相關(guān)pandas按行分割表格內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

您可能感興趣的文章:
  • pandas 如何分割字符的實(shí)現(xiàn)方法
  • Pandas中DataFrame的分組/分割/合并的實(shí)現(xiàn)
  • python使用pandas實(shí)現(xiàn)數(shù)據(jù)分割實(shí)例代碼

標(biāo)簽:七臺河 濰坊 西安 渭南 贛州 雅安 許昌 辛集

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《python使用pandas按照行數(shù)分割表格》,本文關(guān)鍵詞  python,使用,pandas,按照,行數(shù),;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《python使用pandas按照行數(shù)分割表格》相關(guān)的同類信息!
  • 本頁收集關(guān)于python使用pandas按照行數(shù)分割表格的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    璧山县| 沙田区| 南平市| 波密县| 镶黄旗| 侯马市| 奎屯市| 城固县| 天镇县| 历史| 洪江市| 盖州市| 财经| 灌阳县| 离岛区| 蒙山县| 齐齐哈尔市| 闸北区| 南江县| 西贡区| 兴隆县| 阜南县| 郧西县| 大方县| 兴海县| 富裕县| 石城县| 沅江市| 进贤县| 慈利县| 义马市| 青浦区| 石城县| 义乌市| 宁安市| 扎兰屯市| 湖北省| 鄢陵县| 文化| 淮北市| 剑河县|