일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- pyqt5
- Windows10
- VBA
- 엑셀
- win32com
- 비주얼베이직
- pythongui
- 윈도우11
- python3
- 문자열
- 아웃룩
- Windows11
- Outlook
- python
- matlab
- 파이썬3
- 오피스
- pandas
- 윈도우10
- Android
- html
- office
- git
- 파이썬GUI
- 안드로이드
- 깃
- Excel
- 파워포인트
- 파이썬
- windows
Appia의 IT세상
파이썬[Python] Project01-01 CAN DBC Loader/Writer 개요 본문
저번 포스팅에서 CAN DBC Message/Signal 구조에 대해서 포스팅 한적이 있습니다. 물론 Python에서 관련 모듈이 존재하는 부분이 있습니다. Cantools라는 모듈입니다. 하지만, 제 입맛대로 관련된 부분에 대해서 정의를 하고자 합니다.
이번 관련 포스팅은 크게 별도의 Numbering 를 진행할 예정입니다. 총 4화에 걸쳐서 포스팅 할 예정입니다.
- 파이썬[Python] Project01-01 CAN DBC Loader/Writer 개요
- 파이썬[Python] Project01-02 CAN DBC Base 구조 및 코드 리뷰
- 파이썬[Python] Project01-03 CAN DBC Loader 구조 및 코드 리뷰
- 파이썬[Python] Project01-04 CAN DBC Writer 구조 및 코드 리뷰
물론, 많은 관련된 유저들은 CANDBC++과 같은 에디터를 사용할 것입니다. 물론, 저도 사용하는 부분입니다만, 그래도 이왕 앞서 구조에 대한 포스팅을 했으니 한번 만들어 보고 싶었습니다.
먼저, 제가 생각하는 코드 구성에 대해서 공유 드리고자 합니다. 크게 3가지 구성으로 진행할 예정입니다.
- DBC_Base : DBC 형태를 내부로 저장하는 기능,
- DBC_Loader : DBC 파일을 Excel 형태로 추출하는 기능
- DBC_Writer : EXCEL 파일을 DBC로 쓰는 기능
각 항목에 대해서 구조에 대해 살펴 보도록 하겠습니다.
DBC_Base
- Message , Signal에 대한 Class 선언
- Message / Signal Class의 관련 기능 추가
- Excel 파일을 읽어와서 기존 선언된 Class로 Message와 Signal에 맞게 저장하여 List에 저장하는 기능
- DBC파일을 읽어와서 기존 선언된 Class로 Message와 Signal에 맞게 저장하여 List에 저장하는 기능
DBC_Loader
- 앞서, DBC_Base에서 반환된 List에 기술된 부분을 바탕으로 Excel로 추출
DBC_Writer
- 앞서, DBC_Base에서 반환된 List에 기술된 부분을 바탕으로 DBC로 추출
사용 모듈
- win32com (pywin32)
관련 기능 특징
- DBC_Loader와 DBC_Writer에 사용될 엑셀 파일을 동일한 형태
다음과 같은 구조로 구현을 할 예정입니다. 저의 경우 계획 세우는 것을 매우 좋아하는 계획충이다 보니, 항상 어떤 것을 구현할 경우 다음과 같이 계획을 세우고 진행하는 바입니다. 하지만, 이와 같은 부분이 장단이 있겠지만, 계획적으로 작업하기에 매우 긍정적으로 사용됩니다. 저의 포스팅을 보시는 분들도 저와 비슷하게 계획을 세우는 습관을 들이는 것을 권장 드립니다.
위의 포스팅한 부분과 관련 되서, 각 부분에 대한 코드 및 내용에 대해서 포스팅을 진행할 것입니다. 또한, 소스 코드는 파일 형태로 공유할 예정입니다. 혹, 궁금하신 점이나, 문의 하실 부분이 있으시면 언제든지 댓글 및 방명록에 글을 남겨주시길 바랍니다.
'Python > Python 응용' 카테고리의 다른 글
파이썬[Python] Project01-03 DBC_Base Message/Siganl Class Commnet(주석) Parse 추가 (0) | 2020.01.10 |
---|---|
파이썬[Python] Project01-02 DBC_Base Message/Siganl Class (3) | 2020.01.09 |
파이썬[Python] 032 디렉토리(Directory) 확인 및 변경/절대주소/ 상대 주소 사용법 (0) | 2020.01.06 |
파이썬[Python] 031 날짜와 시간 출력하기(time) (0) | 2020.01.05 |
파이썬[Python] 020 두개의 리스트(List) 비교 방법 (2) | 2019.12.30 |