使用Python批量實(shí)現(xiàn)某一Excel文件中每3行數(shù)據(jù)存一個Excel文件
共 2482字,需瀏覽 5分鐘
·
2024-08-02 12:50
回復(fù)“書籍”即可獲贈Python從入門到進(jìn)階共10本電子書
大家好,我是Python進(jìn)階者。
一、前言
前幾天在幫助粉絲解決問題的時候,遇到一個簡單的小需求,這里拿出來跟大家一起分享,后面再次遇到的時候,可以從這里得到靈感。
二、需求澄清
粉絲的問題來源于實(shí)際的需求,她的Excel文件中現(xiàn)有20行數(shù)據(jù),需要使用Python實(shí)現(xiàn)這個Excel文件中每3行存一個Excel文件。下圖是原始數(shù)據(jù):
如果是正常操作的話,肯定是點(diǎn)擊進(jìn)去Excel文件,然后每三行進(jìn)行復(fù)制,然后粘貼到新文件,然后保存,之后重命名。
這樣做肯定是可以,但是當(dāng)有上百個文件夾需要復(fù)制呢?上千個文件呢?肯定就需要消耗大量的時間和精力了。估計(jì)一天都不一定完成的了。
這里使用Python進(jìn)行批量實(shí)現(xiàn)!
下面這個代碼是初始代碼,如果只是10行,可以這么寫。這要是1000行,你準(zhǔn)備怎么寫?你代碼不得寫300+行?
import pandas as pd
df = pd.read_excel('res.xlsx')
df.set_index(["A"]).reset_index()
df.iloc[: 3].to_excel('1.xlsx')
df.iloc[3: 6].to_excel('2.xlsx')
df.iloc[6: 9].to_excel('3.xlsx')
df.iloc[10].to_excel('4.xlsx')
三、實(shí)現(xiàn)過程
這里給大家提供一個可行的代碼,思路也很簡單,for循環(huán)加步長,代碼如下:
import pandas as pd
df = pd.read_excel('res.xlsx')
# df.set_index(["A"]).reset_index()
for i in range(len(df) // 3 + 1):
df.iloc[3 * i: 3 * (i + 1)].to_excel(f'{i}.xlsx')
代碼運(yùn)行之后,就可以實(shí)現(xiàn)該Excel文件中每3行數(shù)據(jù)存一個Excel文件了。再也不用挨個去手動復(fù)制粘貼了,使用Python事半功倍!
下圖是第一個文件:
下圖是最后一個文件,因?yàn)榭偣彩?0條數(shù)據(jù),每三行存一個文件的話,第10行的話,需要單獨(dú)放一個文件,所以看到的文件只有一行數(shù)據(jù)了。
三、總結(jié)
大家好,我是皮皮。這篇文章主要盤點(diǎn)一個Python自動化辦公的實(shí)用案例,這個案例可以適用于實(shí)際工作中文件處理,大家也可以稍微改進(jìn)下,用于自己的實(shí)際工作中去,舉一反三。
感謝【瑜亮老師】、【貓藥師Kelly】大佬給出的思路和建議,學(xué)習(xí)到了很多,應(yīng)該還有其他更好的方法,歡迎大家留言區(qū)留言。
大家在學(xué)習(xí)過程中如果有遇到問題,歡迎隨時聯(lián)系我解決(我的微信:pdcfighting),應(yīng)粉絲要求,我創(chuàng)建了一些高質(zhì)量的Python付費(fèi)學(xué)習(xí)交流群和付費(fèi)接單群,歡迎大家加入我的Python學(xué)習(xí)交流群和接單群!
小伙伴們,快快用實(shí)踐一下吧!如果在學(xué)習(xí)過程中,有遇到任何問題,歡迎加我好友,我拉你進(jìn)Python學(xué)習(xí)交流群共同探討學(xué)習(xí)。
------------------- End -------------------
往期精彩文章推薦:
歡迎大家點(diǎn)贊,留言,轉(zhuǎn)發(fā),轉(zhuǎn)載,感謝大家的相伴與支持
想加入Python學(xué)習(xí)群請?jiān)诤笈_回復(fù)【入群】
萬水千山總是情,點(diǎn)個【在看】行不行
/今日留言主題/
隨便說一兩句吧~~
