# Pypipe - 데이터 파이프라인 처리를 위한 파이썬 CLI 도구

> Clean Markdown view of GeekNews topic #11555. Use the original source for factual precision when an external source URL is present.

## Metadata

- GeekNews HTML: [https://news.hada.io/topic?id=11555](https://news.hada.io/topic?id=11555)
- GeekNews Markdown: [https://news.hada.io/topic/11555.md](https://news.hada.io/topic/11555.md)
- Type: news
- Author: [xguru](https://news.hada.io/@xguru)
- Published: 2023-10-28T10:04:01+09:00
- Updated: 2023-10-28T10:04:01+09:00
- Original source: [github.com/bugen](https://github.com/bugen/pypipe)
- Points: 12
- Comments: 0

## Topic Body

- `ppp line`   
  - `$ cat staff.txt |ppp 'i, line.upper()'`  
  - 라인당 처리. 각 라인번호는 i, 라인 전체 스트링은 line/l 로 받아서 처리 가능   
- `ppp rec`   
  - `$ cat staff.txt |ppp rec 'r[:3]'  
  - 각 라인을 TAB으로 Split. 분할된 스트링을 rec/r로 받을수 있음   
  - `-l 길이` 옵션을 주면 각 필드를 f1, f2, f3 등으로 받을 수 있음   
  - `$ tail -n +2 staff.txt |ppp rec -l5 'f"{f1} is {f4} years old"'`  
  - `-H` 옵션으로 첫 헤더라인 인식하고 스킵 가능   
- `ppp csv`  
  - rec와 같지만, 딜리미터를 지정 가능(기본값은 콤마) csv 라이브러리를 사용  
  - `$ cat staff.csv |ppp csv -O 'quoting=csv.QUOTE_ALL'`  
- `ppp text`  
  - 전체 인풋이 하나의 텍스트로 읽어짐. `text`로 접근 가능   
  - `$ cat staff.txt | ppp text 'len(text)'`  
- `ppp file`  
  - 파일 경로 리스트를 받아서, 각 파일을 열어서 `text`에 읽어들이고 처리하며, 이걸 리스트 파일들에 대해 반복   
  - 경로 역시 `path`로 접근 가능   
  - `$ ls staff.txt staff.csv staff.json staff.xml |ppp file 'path, len(text)'`  
- `ppp custom -N NAME`  
  - 커스텀 커맨드를 파이썬으로 만들어서 쉽게 추가 가능   
  - `~/.config/pypipe/pypipe_custom.py` 에 정의되며 파일 위치는 환경변수로 변경 가능   
- 코드 생성기로도 동작   
  - 전달된 인자를 통해서 파이썬 코드를 생성 가능   
  - 해당 코드를 `exec` 으로 실행하거나 `-p` 로 프린트 및 `-o PATH`로 파일저장 지원

## Comments



_No public comments on this page._
