Excel 머시닝 처리
11152 단어 Python
1. 시작 & 액션 환경
후방 사무실에서 일상적으로 발생하는 업무 중에는 Excel의 가공 작업이 있다.
이 많은 일들이 같은 일을 반복하기 때문에 가능한 한 이 일들을 자동화하여 업무 효율과 생산 효율을 높이는 것을 목표로 한다.
작업 환경
OS : Windows10
Python : 3.8.3
jupyter notebook 6.0.1
2. Excel 함수 찾기 및 축소
일상적으로 사용되는 Excel 함수를 조사합니다.
동시에 반복되는 정형 작업에 사용되는 함수를 축소한다.
• 공유 드라이브에 보관된 Excel 열기
· 삭제 행렬
• 별명으로 책을 보관
· 불필요한 데이터 제거
• 여러 워크시트 통합
・merge
• 로컬 드라이브에 저장된 Excel 열기
3. Excel2 OpenOrders for 엔지니어링
4. 코드 처리 절차 개요
1. 핵심 시스템에서 Excel로 주문 데이터 및 인벤토리 정보 다운로드
2. 파이톤을 사용하여 공유 드라이브에 저장된 excel 데이터를pandas로 읽기
3. 본 작업에 필요하지 않은 약 200열을 삭제한다
공열에 항목 명칭 추가(관리표 납품 예정일, 날짜 수정, 출하 처리)
날짜순(Sort)#GoLive Openorder list
import pandas as pd
import time
t1 = time.time() # 処理前の時刻
#データ読込
df = pd.read_excel('C:/Users/qz781/Desktop/PythonProject/Python_CJL/02.Backlog Review/BacklogReport_vr3.xlsm', sheet_name='MGHEAD', index_col=1)
#列の削除 →カラムをリストで渡してまとめて列を削除
columns = ['x1','x2','x3','x4','x5']
df1 = df.drop(columns, axis=1)
#新規列の追加
df1["管理表納入予定日"] = ""
df1["日付修正"] = ""
df1["出荷処理"] = ""
#sort
df1 = df1.sort_values(by="MGTRDT", ascending = True)
df1.to_excel('C:/Users/xxx/Desktop/PythonProject/OpenOrders.xlsx', sheet_name='test')
t2 = time.time()# 処理後の時刻
elapsed_time = t2-t1
print(f"経過時間:{elapsed_time}") # 経過時間を表示
CustoCode 추출
4. 고객 소유자로부터 고객 코드, 그와 관련된 고객 명칭과 모든 고객의 출하 처리 항목을 읽는다import pandas as pd
#1.データの読み込み
df = pd.read_excel('C:/Users/xxx/Desktop/PythonProject/BacklogReport_vr3.xlsm', sheet_name='OOLINE ( OIS100)', index_col=0)
# 列 "A", "B" の 2 列を抽出
df2 = df.loc[:,['OBORNO','OBCUNO']]
df2.to_excel('C:/Users/xxx/Desktop/PythonProject/OpenOrders_OIS100.xlsx', sheet_name='test')
Order# 키를 눌러 CustCode를 Merge로 설정
5.pandas가 읽은 주문 접수 데이터와 고객주를 결합하여 고객 코드에서 이해하기 어려운 고객명과 고객마다 다른 출하 처리 항목을 보충하여 다른 구성원들도 바로 이해할 수 있도록 한다.
6. 검사 항목별로 필터링
7. 로컬 드라이브에 저장합니다.매일 MTG에서 팀과 공유하여 배송 진행률과 업무 지시를 확인합니다.# merge1
import pandas as pd
#データ読込
df1 = pd.read_excel('C:/Users/xxx/Desktop/PythonProject/OpenOrders_MGHEAD.xlsx', sheet_name='test', index_col=None)
df2 = pd.read_excel('C:/Users/qz781/Desktop/PythonProject/Python_CJL/02.Backlog Review/OpenOrders_OIS100.xlsx', sheet_name='test2', index_col=None)
#データ型の確認&変更
df2["OBORNO"] = df2["OBORNO"].astype(str)
#df1.dtypes #MGRORN=object
df2.dtypes #OBORNO=int64 →objectに変更
df3 = pd.merge(df1, df2, left_on= "MGRORN", right_on="OBORNO", how="outer")
#filtering
df3 = df3.loc[df3["MGFACI"] == "EJ1"]
df3 = df3.loc[df3["MGTRSL"] != 99]
df3 = df3.loc[df3["MGTRSL"] != 44]
df3.to_excel('C:/Users/xxx/Desktop/PythonProject/OpenOrders_merge1.xlsx', sheet_name='test')
5. for Excel2 OpenOrders 완료
여기에도 사용된 자료는 실제 업무에 사용된 자료를 가상 데이터로 바꿨다.또 위조로 바꾸는 시간을 단축하기 위해 데이터량도 극단적으로 압축됐다.
6.끝
또 매일 같은 일을 해야 하기 때문에 수공 작업은 힘들지만, 이처럼 조금씩이라도 자동화하면서 다른 작업을 할 수 있어 효율성도 높일 수 있다.
이번에 제작된 코드는 실제 업무에 직접 적용된다.
지금까지 수공으로 진행됐습니다.눈에 필요한 열을 추출해 200열을 삭제하고, Vlookup을 이용해 고객 이름을 잡아당기는 작업은 하루 30분 정도 걸린다.
파이썬을 사용하면 20분 정도 단축할 수 있고, 파이썬 자동 처리 과정에서 다른 작업을 할 수 있다
실제 현장에서는 납기 관리표가 여러 사람이 공유해 업데이트되기 때문에 사업의 추가 등을 고려할 수 있는 형태가 수시로 바뀐다.
따라서 나중에 재평가할 때 바로 내용을 알 수 있을 뿐만 아니라 수정하기 쉽도록 간단한 코드에 주의하시기 바랍니다.
앞으로도 열심히 공부해서 더 효과적인 글쓰기와 사용법을 익히고 싶습니다.
Reference
이 문제에 관하여(Excel 머시닝 처리), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/kslife2410/items/854e272ec6ad52604e17
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
일상적으로 사용되는 Excel 함수를 조사합니다.
동시에 반복되는 정형 작업에 사용되는 함수를 축소한다.
• 공유 드라이브에 보관된 Excel 열기
· 삭제 행렬
• 별명으로 책을 보관
· 불필요한 데이터 제거
• 여러 워크시트 통합
・merge
• 로컬 드라이브에 저장된 Excel 열기
3. Excel2 OpenOrders for 엔지니어링
4. 코드 처리 절차 개요
1. 핵심 시스템에서 Excel로 주문 데이터 및 인벤토리 정보 다운로드
2. 파이톤을 사용하여 공유 드라이브에 저장된 excel 데이터를pandas로 읽기
3. 본 작업에 필요하지 않은 약 200열을 삭제한다
공열에 항목 명칭 추가(관리표 납품 예정일, 날짜 수정, 출하 처리)
날짜순(Sort)#GoLive Openorder list
import pandas as pd
import time
t1 = time.time() # 処理前の時刻
#データ読込
df = pd.read_excel('C:/Users/qz781/Desktop/PythonProject/Python_CJL/02.Backlog Review/BacklogReport_vr3.xlsm', sheet_name='MGHEAD', index_col=1)
#列の削除 →カラムをリストで渡してまとめて列を削除
columns = ['x1','x2','x3','x4','x5']
df1 = df.drop(columns, axis=1)
#新規列の追加
df1["管理表納入予定日"] = ""
df1["日付修正"] = ""
df1["出荷処理"] = ""
#sort
df1 = df1.sort_values(by="MGTRDT", ascending = True)
df1.to_excel('C:/Users/xxx/Desktop/PythonProject/OpenOrders.xlsx', sheet_name='test')
t2 = time.time()# 処理後の時刻
elapsed_time = t2-t1
print(f"経過時間:{elapsed_time}") # 経過時間を表示
CustoCode 추출
4. 고객 소유자로부터 고객 코드, 그와 관련된 고객 명칭과 모든 고객의 출하 처리 항목을 읽는다import pandas as pd
#1.データの読み込み
df = pd.read_excel('C:/Users/xxx/Desktop/PythonProject/BacklogReport_vr3.xlsm', sheet_name='OOLINE ( OIS100)', index_col=0)
# 列 "A", "B" の 2 列を抽出
df2 = df.loc[:,['OBORNO','OBCUNO']]
df2.to_excel('C:/Users/xxx/Desktop/PythonProject/OpenOrders_OIS100.xlsx', sheet_name='test')
Order# 키를 눌러 CustCode를 Merge로 설정
5.pandas가 읽은 주문 접수 데이터와 고객주를 결합하여 고객 코드에서 이해하기 어려운 고객명과 고객마다 다른 출하 처리 항목을 보충하여 다른 구성원들도 바로 이해할 수 있도록 한다.
6. 검사 항목별로 필터링
7. 로컬 드라이브에 저장합니다.매일 MTG에서 팀과 공유하여 배송 진행률과 업무 지시를 확인합니다.# merge1
import pandas as pd
#データ読込
df1 = pd.read_excel('C:/Users/xxx/Desktop/PythonProject/OpenOrders_MGHEAD.xlsx', sheet_name='test', index_col=None)
df2 = pd.read_excel('C:/Users/qz781/Desktop/PythonProject/Python_CJL/02.Backlog Review/OpenOrders_OIS100.xlsx', sheet_name='test2', index_col=None)
#データ型の確認&変更
df2["OBORNO"] = df2["OBORNO"].astype(str)
#df1.dtypes #MGRORN=object
df2.dtypes #OBORNO=int64 →objectに変更
df3 = pd.merge(df1, df2, left_on= "MGRORN", right_on="OBORNO", how="outer")
#filtering
df3 = df3.loc[df3["MGFACI"] == "EJ1"]
df3 = df3.loc[df3["MGTRSL"] != 99]
df3 = df3.loc[df3["MGTRSL"] != 44]
df3.to_excel('C:/Users/xxx/Desktop/PythonProject/OpenOrders_merge1.xlsx', sheet_name='test')
5. for Excel2 OpenOrders 완료
여기에도 사용된 자료는 실제 업무에 사용된 자료를 가상 데이터로 바꿨다.또 위조로 바꾸는 시간을 단축하기 위해 데이터량도 극단적으로 압축됐다.
6.끝
또 매일 같은 일을 해야 하기 때문에 수공 작업은 힘들지만, 이처럼 조금씩이라도 자동화하면서 다른 작업을 할 수 있어 효율성도 높일 수 있다.
이번에 제작된 코드는 실제 업무에 직접 적용된다.
지금까지 수공으로 진행됐습니다.눈에 필요한 열을 추출해 200열을 삭제하고, Vlookup을 이용해 고객 이름을 잡아당기는 작업은 하루 30분 정도 걸린다.
파이썬을 사용하면 20분 정도 단축할 수 있고, 파이썬 자동 처리 과정에서 다른 작업을 할 수 있다
실제 현장에서는 납기 관리표가 여러 사람이 공유해 업데이트되기 때문에 사업의 추가 등을 고려할 수 있는 형태가 수시로 바뀐다.
따라서 나중에 재평가할 때 바로 내용을 알 수 있을 뿐만 아니라 수정하기 쉽도록 간단한 코드에 주의하시기 바랍니다.
앞으로도 열심히 공부해서 더 효과적인 글쓰기와 사용법을 익히고 싶습니다.
Reference
이 문제에 관하여(Excel 머시닝 처리), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/kslife2410/items/854e272ec6ad52604e17
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
1. 핵심 시스템에서 Excel로 주문 데이터 및 인벤토리 정보 다운로드
2. 파이톤을 사용하여 공유 드라이브에 저장된 excel 데이터를pandas로 읽기
3. 본 작업에 필요하지 않은 약 200열을 삭제한다
공열에 항목 명칭 추가(관리표 납품 예정일, 날짜 수정, 출하 처리)
날짜순(Sort)
#GoLive Openorder list
import pandas as pd
import time
t1 = time.time() # 処理前の時刻
#データ読込
df = pd.read_excel('C:/Users/qz781/Desktop/PythonProject/Python_CJL/02.Backlog Review/BacklogReport_vr3.xlsm', sheet_name='MGHEAD', index_col=1)
#列の削除 →カラムをリストで渡してまとめて列を削除
columns = ['x1','x2','x3','x4','x5']
df1 = df.drop(columns, axis=1)
#新規列の追加
df1["管理表納入予定日"] = ""
df1["日付修正"] = ""
df1["出荷処理"] = ""
#sort
df1 = df1.sort_values(by="MGTRDT", ascending = True)
df1.to_excel('C:/Users/xxx/Desktop/PythonProject/OpenOrders.xlsx', sheet_name='test')
t2 = time.time()# 処理後の時刻
elapsed_time = t2-t1
print(f"経過時間:{elapsed_time}") # 経過時間を表示
CustoCode 추출
4. 고객 소유자로부터 고객 코드, 그와 관련된 고객 명칭과 모든 고객의 출하 처리 항목을 읽는다
import pandas as pd
#1.データの読み込み
df = pd.read_excel('C:/Users/xxx/Desktop/PythonProject/BacklogReport_vr3.xlsm', sheet_name='OOLINE ( OIS100)', index_col=0)
# 列 "A", "B" の 2 列を抽出
df2 = df.loc[:,['OBORNO','OBCUNO']]
df2.to_excel('C:/Users/xxx/Desktop/PythonProject/OpenOrders_OIS100.xlsx', sheet_name='test')
Order# 키를 눌러 CustCode를 Merge로 설정
5.pandas가 읽은 주문 접수 데이터와 고객주를 결합하여 고객 코드에서 이해하기 어려운 고객명과 고객마다 다른 출하 처리 항목을 보충하여 다른 구성원들도 바로 이해할 수 있도록 한다.
6. 검사 항목별로 필터링
7. 로컬 드라이브에 저장합니다.매일 MTG에서 팀과 공유하여 배송 진행률과 업무 지시를 확인합니다.
# merge1
import pandas as pd
#データ読込
df1 = pd.read_excel('C:/Users/xxx/Desktop/PythonProject/OpenOrders_MGHEAD.xlsx', sheet_name='test', index_col=None)
df2 = pd.read_excel('C:/Users/qz781/Desktop/PythonProject/Python_CJL/02.Backlog Review/OpenOrders_OIS100.xlsx', sheet_name='test2', index_col=None)
#データ型の確認&変更
df2["OBORNO"] = df2["OBORNO"].astype(str)
#df1.dtypes #MGRORN=object
df2.dtypes #OBORNO=int64 →objectに変更
df3 = pd.merge(df1, df2, left_on= "MGRORN", right_on="OBORNO", how="outer")
#filtering
df3 = df3.loc[df3["MGFACI"] == "EJ1"]
df3 = df3.loc[df3["MGTRSL"] != 99]
df3 = df3.loc[df3["MGTRSL"] != 44]
df3.to_excel('C:/Users/xxx/Desktop/PythonProject/OpenOrders_merge1.xlsx', sheet_name='test')
5. for Excel2 OpenOrders 완료
여기에도 사용된 자료는 실제 업무에 사용된 자료를 가상 데이터로 바꿨다.또 위조로 바꾸는 시간을 단축하기 위해 데이터량도 극단적으로 압축됐다.
6.끝
또 매일 같은 일을 해야 하기 때문에 수공 작업은 힘들지만, 이처럼 조금씩이라도 자동화하면서 다른 작업을 할 수 있어 효율성도 높일 수 있다.
이번에 제작된 코드는 실제 업무에 직접 적용된다.
지금까지 수공으로 진행됐습니다.눈에 필요한 열을 추출해 200열을 삭제하고, Vlookup을 이용해 고객 이름을 잡아당기는 작업은 하루 30분 정도 걸린다.
파이썬을 사용하면 20분 정도 단축할 수 있고, 파이썬 자동 처리 과정에서 다른 작업을 할 수 있다
실제 현장에서는 납기 관리표가 여러 사람이 공유해 업데이트되기 때문에 사업의 추가 등을 고려할 수 있는 형태가 수시로 바뀐다.
따라서 나중에 재평가할 때 바로 내용을 알 수 있을 뿐만 아니라 수정하기 쉽도록 간단한 코드에 주의하시기 바랍니다.
앞으로도 열심히 공부해서 더 효과적인 글쓰기와 사용법을 익히고 싶습니다.
Reference
이 문제에 관하여(Excel 머시닝 처리), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/kslife2410/items/854e272ec6ad52604e17
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
또 매일 같은 일을 해야 하기 때문에 수공 작업은 힘들지만, 이처럼 조금씩이라도 자동화하면서 다른 작업을 할 수 있어 효율성도 높일 수 있다.
이번에 제작된 코드는 실제 업무에 직접 적용된다.
지금까지 수공으로 진행됐습니다.눈에 필요한 열을 추출해 200열을 삭제하고, Vlookup을 이용해 고객 이름을 잡아당기는 작업은 하루 30분 정도 걸린다.
파이썬을 사용하면 20분 정도 단축할 수 있고, 파이썬 자동 처리 과정에서 다른 작업을 할 수 있다
실제 현장에서는 납기 관리표가 여러 사람이 공유해 업데이트되기 때문에 사업의 추가 등을 고려할 수 있는 형태가 수시로 바뀐다.
따라서 나중에 재평가할 때 바로 내용을 알 수 있을 뿐만 아니라 수정하기 쉽도록 간단한 코드에 주의하시기 바랍니다.
앞으로도 열심히 공부해서 더 효과적인 글쓰기와 사용법을 익히고 싶습니다.
Reference
이 문제에 관하여(Excel 머시닝 처리), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/kslife2410/items/854e272ec6ad52604e17텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)