- 질문 게시판입니다.
Date 23/01/07 16:09:00
Name   Paraaaade
Subject   파일 기반 정보수집 방법 문의
사용자들로부터 일정한 양식을 갖춘 정보들을 입력받고
그 정보들을 모아서 엑셀 등을 활용하여 정리하고자 하는데, 방법적인 측면에서 질문드립니다.

웹서버나 sql 등을 쓰지않고 해결해야하는 상황입니다.

제가 생각한건 HTML 등을 이용하여 구글 폼과 같은 형식을 만들고 그 HTML파일을 사용자에게 제공(직접적인 파일 배포)하여 사용자가 데이터를 입력하도록 하는 것입니다. 사용자가 그 폼에 내용을 다 입력한 후 파일을 전송하면 그 파일들을 모아서 파이썬 등을 이용, 엑셀 형태로 정리 취합 하려구요.

이렇게하려는 이유는 내부망에서 웹서버/DB를 오픈하긴 어렵고 파일의 직접적인 전달은 수월하기 때문인데요.

관련내용을 찾다보니 HTML은 서버/DB 없이 활용하기엔 제한적인듯 한데, 어떤 방법/툴을 이용하면 쉽게 구현할 수 있을까요?

요약하자면 구글 폼과 같은 데이터 입력 시스템을 파일 베이스로 하고 싶습니다. (입력이 끝나고 SAVE 한 후 그 파일 전송) 폼 내에 파일을 첨부하는 기능도 있어야할 것 같구요.

나중에 파이썬 등으로 재가공하기 쉬우려면 뭘쓰면 좋을까요?

아래는 이해를 돕기위한 예시이고, 따옴표 속 내용이 사용자 입력 항목입니다.

양식 파일 다운로드 -> 데이터 입력 (구매 품목: "사과", 가격 : "3000", 증빙서류: "파일 첨부")  -> 저장 -> 저장파일 전송 -> DB화 정리



0


외부 망 접속이 불가하다면 내부망용 ftp서버에 파일을 올리라고 하는게 젤 빠르지않을까요 양식파일받아가라고 공지하고..
1
그 양식파일을 뭘로 만들면 좋을까 하는게 질문입니다. 단순 엑셀/워드로 하면 나중에 파이썬으로 추출하여 DB화 하기 어려울 것으로 생각되서요. (사용자의 양식 편집 가능성을 최소화해야 예외 케이스가 안나올 듯 합니다.)
cruithne
비슷한 짓을 했었는데 전 csv로 받았습니다. 일회성이라 csv로 받고 더듬더듬 파이썬 공부해서 어찌저찌 파일 하나로 묶었던 기억이 나네요
Paraaaade
음 csv는 입력을 제한할 방도가 없어서 피하고 싶거든요. 품목을 드랍다운 메뉴 중에 하나로 선택하게 한다던가, 가격에는 숫자만 넣을 수 있게 한다던가 하는 식이요.
덜커덩
python 쓰실거면 pandas로 값을 다루면 될 것 같고, 첨부파일은 openpyxl로 직접 뽑거나, AttachmentExtractor로 쉽게 뽑는다고 치면 xlsx로 쓰시면 될 것 같읍니다. 예상되는 단점이라면, OLE object에는 셀 귀속이나 순번에 대한 개념이 미약한걸로 기억하는데, 2개 이상의 파일 첨부가 필요하면 좀 문제가 있을 것 같읍니다.

AttanchmentExtractor: https://stackoverflow.com/questions/59810248/how-to-extract-ole-objects-from-excel-table-using-python
xlxs 의 유효성 검사 기능을 쓰면 위 댓글에 언급된 문제를 충분히 핸들링할 수 있으려나요? openxyl 은 서핑 중에 보긴했는데 얼마나 잘 될지, 어디까지 될지 좀 걱정스럽기도 해서요.

제일 이상적인건 HTML FORM 을 오프라인 기반으로 사용하는거 같긴한데 이 방법은 없나보네요.

다른 대안이 없으면 이 방법을 고려하겠습니다.
유효성 검사기능으로는 셀에 채워길 값에 대해 드롭다운이나 형식에 대한 체크 정도라면 괜찮을 것 같고, 파일은 아니오, (셀 귀속이 아니기 때문.) 라고 할 수 있겠읍니다.

양식의 정합성 체크가 문제라면 standalone webserver가 포함된 flask/django 같은걸로 윈도우 바이너리 만들고 배포한다 치면 사실 데이터는 어떤방식으로 만들어도 괜찮겠지요. 첨부파일이라면 대충 base64같은걸로 인코딩해서 json에 포함시키면 왠만한 key-value 데이터는 단일 파일로 다루기 괜찮겠지요. 근데 이건 배포를 위한 사전 작업이 상대적으로 커서 아마 안하실 것 같은데, 무엇을 중요하게 생각하시는지 제가 알지를 못하니...
Paraaaade
엑셀의 드랍다운 리스트도 셀귀속이 되긴하나보군요.

flask/django까지 가면 제 미천한 개발실력으로 커버가 안될거 같은데 이 부분이 제가 제일 원하던 방향인것 같긴하네요.
덜커덩
xlsx를 데이터 수집용으로 쓰는데는 클라이언트 파트를 위한 별도의 준비가 양식 파일외 다른게 필요없다는 것과, 그 양식을 채울 사람들의 환경에 왠만하면 오피스가 깔려있고 생각하는 경우지요.

비용이 문제라면 free-tier vps같은걸로 대충 하나 만들고 python으로 form 채울 페이지 만들고 받는걸 개인적으로 우선 고려할 듯 싶습니다. 데이터 저장형식이야 sqlite같은 embeddable sql로 해결하면 되고, 그게 아니면 파일로 저장해도 무리가 없구요. 파일 저장하는 스토리지가 걱정이라면, 양식 채우고 저장버튼 누르면 json으로 담아서 사용자가 다운로드받게 만들어서, 그 파일만 메일로 수집하시어도 되구요.
free-tier vps 는 뭘까요? 최종적으로는 json으로 받는 방법이 좀 괜찮아보이는데 제가 말씀해주시는 부분을 잘 못따라가겠네요.

free-tier vps가 뭔지, python으로 만든 form이 어떻게 연결되는지, embeddable sql 은 어디에 끼어드는건지, json을 고려하는 경우에 sql은 필요없는건지 등이요.
어음... free-tier vps는 클라우드 서비스 업체들이 공짜로 내주는 기초적 수준의 가상머신 인스턴스라고 이해하시면 되겠읍니다. 보통 1년 무료지만, 평생 무료 같은것도 있으니 조금만 찾아보시면 요건에 맞는 서비스를 구하실 수 있을겁니다.

파이썬에서 폼 페이지를 만들려면 적절한 웹 프레임워크가 필요할텐데, 이건 flask나 django로 쓰시면 되지만 코딩이 필요합니다. no code 솔루션이 있을지는 모르겠어요. 암튼 남은건 (1) 폼 페이지 만들고, (2) 사용자가 입력한 데이터를 POST 형식으로 받을 방법을 구현... 더 보기
어음... free-tier vps는 클라우드 서비스 업체들이 공짜로 내주는 기초적 수준의 가상머신 인스턴스라고 이해하시면 되겠읍니다. 보통 1년 무료지만, 평생 무료 같은것도 있으니 조금만 찾아보시면 요건에 맞는 서비스를 구하실 수 있을겁니다.

파이썬에서 폼 페이지를 만들려면 적절한 웹 프레임워크가 필요할텐데, 이건 flask나 django로 쓰시면 되지만 코딩이 필요합니다. no code 솔루션이 있을지는 모르겠어요. 암튼 남은건 (1) 폼 페이지 만들고, (2) 사용자가 입력한 데이터를 POST 형식으로 받을 방법을 구현, (3) 최종적으로 받은 데이터를 어떻게 저장하는지에 대한 문제로 다루시면 됩니다.

(1) sql로 테이블 만들어놓고 파일 수준으로 관리를 하려면 sqlite라는걸 쓰시면 되고,
(2) 아니면 대충 데이터를 JSON 형식으로 만들어서 파일로 저장하거나 사용자한테 반환해도 됩니다. json으로 만들면 sql을 고려할 필요는 당연히 없겠지요.

embeddable sql이라고 적어놓은건, sql을 다루기 위해 별도의 rdbms 서버를 띄울 필요가 없다는 뜻으로 쓴겁니다.
(1) -> django/flask
(2) -> python
(3) -> json/sql 이라는 말씀이시죠?

도움이 되었습니다. 감사합니다.

*vps의 경우 보안때문에 사용하기는 어려울 것 같으니, standalone webserver 형태를 고려해야할 것 같습니다.
뭔가 오해가 일어날것 같아서 대충 부연하자면, 처음부터 끝까지 python이 사용됩니다.
(1) HTML 템플릿으로 사용자한테 보일 내용을 작성 + python+django/flask로 앞에서 만든 HTML 템플릿을 사용자한테 뿌려주고, FORM DATA 검증하고, 값을 전달할 주소를 코딩
(2) python+django/flask로 POST 형식으로 들어오는 값을 다루도록 코딩. 이때 들어온 데이터를 최종적으로 json이나 sql로 저장하시면 됩니다.

여기서 스탠드얼론형식으로 바이너리를 배포하려면 좀 더 보셔야 할게 많을텐데, 암튼 얼개는 저렇게 되어 있으니 해야하는 포인트마다 매뉴얼이랑 스택오버플로 같은데를 찾아보셔서 해결하시면 되지않을까 싶습셉슾.. 암튼 천천히 해보세요!
Paraaaade
감사합니다!
목록
번호 제목 이름 날짜 조회 추천
14552 IT/컴퓨터노트북 사운드문제 4 배차계 23/03/04 3330 0
14547 IT/컴퓨터도난과 맥북 초기화에 대해서 4 쥬꾸미 23/03/02 4841 0
14545 IT/컴퓨터갤23+ 사려고 하는데 어디가 제일 싼가요? 14 Cascade 23/03/02 2834 0
14539 IT/컴퓨터아이패드가 갤탭보다 특별히 좋은 점이 있나요? 21 아침 23/03/01 4055 0
14538 IT/컴퓨터유튜브 핸들 말고 닉네임으로 표시하는 방법 12 서당개 23/02/28 25403 0
14530 IT/컴퓨터ssd 용도를 어떻게 쓸지 고민입니다 13 겉탄속촉 23/02/27 3197 0
14524 IT/컴퓨터블루투스 스피커에 대해서 4 야얌 23/02/24 2945 0
14517 IT/컴퓨터맥에서 .jar 파일을 열 수 없습니다 2 Velma Kelly 23/02/22 3412 0
14509 IT/컴퓨터2만원대 마우스 있을까요? 10 아이솔 23/02/20 2443 0
14508 IT/컴퓨터갤럭시 S23 사전예약 민팃 보상 문의 4 전국 홍차넷 협회 23/02/20 2540 0
14507 IT/컴퓨터이 휴대폰은 해외 유심이 되는 걸까요? 6 전국 홍차넷 협회 23/02/20 2606 0
14503 IT/컴퓨터애플워치 gps/ gps+cellular 6 moneyghost 23/02/19 2515 0
14487 IT/컴퓨터FHD 화면 노트북와 4K 모니터 관련 10 옐빠 23/02/14 3419 0
14480 IT/컴퓨터인터넷 신규가입 질문 드립니다. 4 자몽에이슬 23/02/13 2624 0
14477 IT/컴퓨터SSF 조립대행은 없겠지요..?? 2 dongri 23/02/12 2803 0
14473 IT/컴퓨터갤럭시 S22 진동 소음 1 공안9과 23/02/11 3176 0
14463 IT/컴퓨터아래아 한글 중 복사 관련 질문 12 RedSkai 23/02/08 2735 0
14427 IT/컴퓨터엑셀 질문입니다 3 헬리제의우울 23/01/31 2629 0
14420 IT/컴퓨터(완료) 예쁘고 저렴한 노트북 추천 부탁드리겠습니다. 21 똘빼 23/01/29 3075 0
14412 IT/컴퓨터회의용 마이크 추천 부탁드립니다~ 17 Iowa 23/01/27 2795 0
14410 IT/컴퓨터포토샵 글씨입력 질문입니다 3 헬리제의우울 23/01/27 2713 0
14393 IT/컴퓨터포토샵 보정 질문이 있습니다 6 햄볶는돼지 23/01/22 3006 0
14385 IT/컴퓨터원격으로 랜선을 끊었다가 연결하는 기계도 있을까요? 6 똘빼 23/01/18 3570 0
14383 IT/컴퓨터회사직무 (전략기획) 능력을 향상시킬수 있는 방법..? 5 리니시아 23/01/17 3417 0
14379 IT/컴퓨터폰을 슬슬 바꿀까 싶슴미당 8 탈퇴 23/01/15 3114 0
목록

+ : 최근 2시간내에 달린 댓글
+ : 최근 4시간내에 달린 댓글

댓글
회원정보 보기
닫기
회원정보 보기
닫기
회원정보 보기
닫기
회원정보 보기
닫기
회원정보 보기
닫기
회원정보 보기
닫기
회원정보 보기
닫기
회원정보 보기
닫기
회원정보 보기
닫기
회원정보 보기
닫기
회원정보 보기
닫기
회원정보 보기
닫기
회원정보 보기
닫기
회원정보 보기
닫기
회원정보 보기
닫기
회원정보 보기
닫기
회원정보 보기
닫기
회원정보 보기
닫기
회원정보 보기
닫기
회원정보 보기
닫기
회원정보 보기
닫기
회원정보 보기
닫기
회원정보 보기
닫기
회원정보 보기
닫기
회원정보 보기
닫기
회원정보 보기
닫기
회원정보 보기
닫기
회원정보 보기
닫기
회원정보 보기
닫기
회원정보 보기
닫기
회원정보 보기
닫기
회원정보 보기
닫기
회원정보 보기
닫기
회원정보 보기
닫기
회원정보 보기
닫기
회원정보 보기
닫기
회원정보 보기
닫기
회원정보 보기
닫기
회원정보 보기
닫기
회원정보 보기
닫기