Python excel表格讀寫,格式化處理
需求:我們公司是做服裝零售的,有很多個自營店鋪。每個月去店鋪盤點,因為裝置和網路限制,就用掃描槍直接把盤點貨品儲存到一個excel表格當中。然後通過excel表格匯入到 DRP系統當中。excel表的匯入格式是固定的,就貨品條碼一列。實際我們盤點的時候會分很多列,或者很多品牌等等,這時就需要人工介入處理,相當耗時,通過程式後 人工整理10分鐘變一秒。
感受一下
圖片一:盤點excel資料來源:多列、多品牌、不規則
圖片二:目標盤點excel 匯入模板
源excel經過工具過渡到目標模板處理:
python + xlrd + xlwt 開發,用了一個 桌面程式顯示
輸出:每次執行都會單獨建立一個資料夾存放
程式核心思路: 1、選中原始檔 excel表 2、讀取excel所有列 3、寫入到新的excel表中
涉及到基礎知識:日期轉換字串、excel表讀和寫、檔案和目錄的建立、列表、遍歷等等。
圖形化程式設計程式碼複用。
核心程式碼塊:
1、讀入excel,其中針對不同品牌貨號做了區分,儲存到不同的list中,return一個元祖
def pd_format_excel(self, file_name):
if os.path.exists(file_name) == False:
messagebox.showerror(title='友情提示', message='請選擇正確的檔案')
bk = xlrd.open_workbook(file_name)
sheet1 = bk.sheet_by_index(0)
# sheet1 = bk.sheet_by_name('Sheet1')
nrows = sheet1.nrows
nclos = sheet1.ncols
klist = []
mlist = []
l_list = []
other_list = []
for x in range(nrows):
for y in range(nclos):
cellvalue = str(sheet1.cell_value(x, y)).upper()
if cellvalue == '':
continue
cellvalue = self.del_style_key(cellvalue)
if cellvalue.startswith('L'):
l_list.append(cellvalue)
elif cellvalue.startswith('K'):
klist.append(cellvalue)
elif cellvalue.startswith('M'):
mlist.append(cellvalue)
else:
other_list.append(cellvalue)
return mlist, l_list, klist, other_list
2、根據返回的 元組資料,一個for迴圈遍歷,寫入到excel中
# 寫入excel表格
def write_pd_excel(self, list):
# 新建目錄:執行目錄+當前日期拼接新目錄
dir_name = os.path.join(os.getcwd(), time.strftime("%Y-%m-%d", time.gmtime()) + '盤點明細單')
if not os.path.exists(dir_name):
os.makedirs(dir_name)
file = xlwt.Workbook() # 建立工作簿
'''
建立第一個sheet:
sheet1
'''
sheet1 = file.add_sheet(u'Sheet1', cell_overwrite_ok=True)
# 設定列寬
sheet1.col(0).width = 256 * 30
# 生成表頭第1行標題
sheet1.write(0, 0, '款號')
# 從第2行開始遍歷excel寫入
i = 1
# for迴圈寫入盤點明細
for row in list:
sheet1.write(i, 0, row)
# 移動到下一行繼續迴圈
i += 1
# 儲存檔名拼接: 結算方程式碼_結算方名稱_出入庫明細_日期年月.xls
brandname = self.get_brand_name(list[0][0])
file_name = brandname + '-' + time.strftime("%Y-%m-%d-%H-%M-%S", time.gmtime()) + '盤點明細單' + '.xls'
# 儲存excel,目錄+檔名
file.save(os.path.join(dir_name, file_name))
self.txt2.insert(END, file_name + ' 轉換完成\n')
功能簡單,解決了實際工作中遇到的現實問題,記錄下學以致用。
如有需要原始碼可以e-mail我。
相關文章
- python讀寫Excel表格程式碼PythonExcel
- Python中用OpenPyXL處理Excel表格PythonExcel
- Python讀取Excel表格PythonExcel
- [python]使用xlrd對Excel表格進行讀寫操作PythonExcel
- 如何在 Python 中自動化處理 Excel 表格?PythonExcel
- Python xlrd讀取excel異常處理PythonExcel
- python 讀寫 excelPythonExcel
- Python讀寫ExcelPythonExcel
- python EXCEL處理PythonExcel
- python處理ExcelPythonExcel
- python讀寫excel檔案PythonExcel
- python讀寫excel表操作PythonExcel
- python處理Excel 之 xlrdPythonExcel
- python操作Excel讀寫--使用xlrdPythonExcel
- 處理Excel表格標題靈活技術二則Excel
- Python資料處理(二):處理 Excel 資料PythonExcel
- python 操作 Excel 表格PythonExcel
- Python 中 Panda 庫 處理表格方法Python
- Python處理Excel文件之openpyxlPythonExcel
- Python使用xlrd處理excel資料PythonExcel
- Python Excel處理庫openpyxl詳解PythonExcel
- EXCEL表格匯入訂單資料 go怎麼接收處理?ExcelGo
- JAVA讀寫excelJavaExcel
- Python3 進行讀取、修改和寫Excel表格(.xlsx檔案)的常用功能示例PythonExcel
- Vue格式化處理Vue
- Python自動化處理Excel資料PythonExcel
- Excel表格匯入Coreldraw地辦法和處理靈活技術Excel
- 【Python自動化Excel】pandas處理Excel的“分分合合”PythonExcel
- Python讀寫EXCEL檔案常用方法大全PythonExcel
- python讀寫excel檔案簡單應用PythonExcel
- Python新手處女作:Excel自動錄入&Excel表格快速合併(附有原始碼)PythonExcel原始碼
- AndroidJxl讀寫ExcelAndroidExcel
- [python] 基於Tablib庫處理表格資料Python
- Markdown之表格的處理
- 【Python自動化Excel】pandas處理Excel資料的基本流程PythonExcel
- Excel 資料處理Excel
- win10使用excel表格卡住不動怎麼辦_win10用excel卡死如何處理Win10Excel
- Python 潮流週刊#52:Python 處理 Excel 的資源PythonExcel