今天我要用python賦能一下自己
背景:最近會用excel處理資料,需要把**中每一行第三列之後所有列的內容進行合併,然後還要刪掉第一列
因為excel玩得不夠六,我都是手動合併,做多了感覺很浪費時間,所以就產生了用python來處理的想法
例如,原始**如下
處理後,希望變成
思路:1、從原始excel檔案中,提取出資料,可以此時每一行的資料會組合成乙個列表,因為需要捨棄第一列,所以在提取資料時,可以直接從第二列開始提取;
2、接著上面,去掉第一列資料後,處理後續提取到的每一行資料:首先第1個和第2個資料保持原有形態不動,它倆先組成乙個列表data,
然後把第3個及其後面的資料合併為一整個字串,最後把這個字串追加到第列表data後面;
3、最後把處理後的資料寫入乙個新的excel檔案
**如下:
使用xlrd庫讀取資料,使用 xlsxwriter庫 向乙個excel寫入資料
#coding: utf-8
"""author: hmk
detail:
create_time:
"""import
xlrd
import
xlsxwriter
class
autooperateexcel:
@staticmethod
defget_data_excel(filepath):
workbook =xlrd.open_workbook(filepath)
sheet =workbook.sheet_by_index(0)
data =
for i in
range(0, sheet.nrows):
獲取excel每一行的資料,然後每一行的資料從第二列開始擷取
#for m in data:
#print(m)
return
data
defwrite_data_excel(self, filepath1, filepath2):
workbook =xlsxwriter.workbook(filepath2)
sheet =workbook.add_worksheet()
original_data =self.get_data_excel(filepath1)
data =
for j in
original_data:
不存在的字元"))
#j[0:2]表示提取列表中的第1個、第2個元素,把它倆形成乙個新的列表m
#''.join(j[2:])表示把列表中的第3個元素及其之後的元素組合為一整個字串
#使用split()把字串轉換為乙個列表n,並且這個列表中只有這乙個字串,注意分隔符要用乙個字串中不存在的元素,不然會把這個字串分割為多個部分
#最後把m和n組合在一起,把它們追加到data中
for k in
range(len(data)):
#print(len(data[k])) # 逐行把data中的元素寫入excel中的每一行
for p in
range(len(data[k])):
sheet.write(k, p, data[k][p])
#把每一行資料分別寫入excel對應的座標
workbook.close()
if__name__ == '
__main__':
file1 = '
/users/admin/desktop/aa.xlsx
'file2 = '
/users/admin/desktop/bb.xlsx
'test =autooperateexcel()
#test.get_data_excel(file1)
test.write_data_excel(file1, file2)
Excel快速將多個單元格合併到乙個單元格
在工作或生活中,對於小批量的資料我們習慣用excel來處理,經常可能會面臨這樣的問題 如何把多個單元格資料合併到乙個單元格。實現這一效果的方式有很多種,比如concatenate函式 連線符 phonetic函式等等,但是每種方法的具體應用場景稍有差異,下面結合例項依次展開介紹。如圖將abc三列合併...
JAVA POI 操作EXCEL 合併單元格
hssfworkbook wb new hssfworkbook hssfsheet sheet wb.createsheet new sheet hssfrow row sheet.createrow short 1 hssfcell cell row.createcell short 1 cel...
多個EXCEL檔案合併成乙個
python的numpy處理起來會比較方便,有空實現一下,這裡是excel內部 的方式 合併方法如下 1.需要把多個excel表都放在同乙個資料夾裡面,並在這個資料夾裡面新建乙個excel。如圖所示 2.用microsoft excel開啟新建的excel表,並右鍵單擊sheet1,找到 檢視 單擊...