V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
推荐学习书目
Learn Python the Hard Way
Python Sites
PyPI - Python Package Index
http://diveintopython.org/toc/index.html
Pocoo
值得关注的项目
PyPy
Celery
Jinja2
Read the Docs
gevent
pyenv
virtualenv
Stackless Python
Beautiful Soup
结巴中文分词
Green Unicorn
Sentry
Shovel
Pyflakes
pytest
Python 编程
pep8 Checker
Styles
PEP 8
Google Python Style Guide
Code Style from The Hitchhiker's Guide
Yourdaye
V2EX  ›  Python

用 Python 解决仓库管理,求方案

  •  
  •   Yourdaye · 2017-01-18 10:58:26 +08:00 · 2972 次点击
    这是一个创建于 2654 天前的主题,其中的信息可能已经有所发展或是发生改变。

    仓库有 A 、 B 、 C 、 D 四个打包人员,每天上传打包数据(包含快递单号,日期),格式为 csv ,数据存储在我自己的电脑上,现有以下需求:

    1.每天下班前定时将所有人的 csv 数据表传输至服务器( Windows 上能否创建 python 定时任务?)

    2.在服务器端对数据进行整理,包含: ( 1 )快递单号识别,即通过快递单号鉴别这个快递是申通、还是圆通.....(这个应该可以通过 API 实现) ( 2 )数据每日统计,即该打包员本月截止今天一共打包了多少单,其他包含申通多少单,中通多少单......

    3.数据检索 即:通过快递单号可以查到是哪个打包员发的货。(所有打包员的数据加起来,每个月大概有接近 2 万条,是直接存储在 csv 里面,还是放进数据库呢?)

    4.用 flask 做一个检索页面,供内部所有人进行查询

    大家有没有比较好的思路?

    14 条回复    2017-01-18 12:53:01 +08:00
    pc10201
        1
    pc10201  
       2017-01-18 11:03:47 +08:00
    肯定可以做哈~一般来说,没有什么是技术上不能实现的~
    goodryb
        2
    goodryb  
       2017-01-18 11:08:06 +08:00   ❤️ 1
    前端 web 一个上传页面+一个检索页面,后台一个数据库实例
    上传数据直接写入数据库,检索的时候从数据库直接查询数据
    可能需要一个异步任务用来做快递单号识别,一个定时任务来做每日数据统计
    holajamc
        3
    holajamc  
       2017-01-18 11:11:28 +08:00   ❤️ 1
    Yourdaye
        4
    Yourdaye  
    OP
       2017-01-18 11:15:38 +08:00
    @goodryb 快递单号是实时识别,还是先识别了放进数据库?
    kinghs
        5
    kinghs  
       2017-01-18 11:17:47 +08:00   ❤️ 1
    定时任务可以用 apscheduler
    goodryb
        6
    goodryb  
       2017-01-18 11:22:43 +08:00
    @Yourdaye 不是实时的,异步来做,上传一批单号,实时查询的话,如果接口不支持批量查询,那轮询下来肯定时间会很长,影响效率,异步来做的话先把单号写入数据库,然后慢慢查询,再去更新数据库
    Yourdaye
        7
    Yourdaye  
    OP
       2017-01-18 11:29:17 +08:00
    @goodryb 看来有点难度啊,居然要用到异步
    xiaket
        8
    xiaket  
       2017-01-18 11:30:59 +08:00
    定时任务直接用 Windows 内置的计划任务就可以了啊. 脚本写好,设置某时间运行这个脚本就行.
    goodryb
        9
    goodryb  
       2017-01-18 11:32:23 +08:00   ❤️ 1
    @Yourdaye 不用也没关系,简单事情单间来做就好了,定时任务也可以,最简单就是在服务设置两个定时任务,一个用来更新单号,一个用来做数据统计,两个 python 脚本搞定
    Yourdaye
        10
    Yourdaye  
    OP
       2017-01-18 11:40:58 +08:00
    @goodryb 再问一下,这种数据量不是很大的情况,用哪个数据库比较好呢?
    goodryb
        11
    goodryb  
       2017-01-18 11:42:47 +08:00
    @Yourdaye 一般选用 mysql
    ppwangs
        12
    ppwangs  
       2017-01-18 11:57:28 +08:00   ❤️ 1
    数据库用 h2 、 sqlite 都行。
    如果快递公司只有几个的话,写好正则匹配规则就好,这样入库的时候直接就入库,同时可以进行统计出结果了。
    jarlyyn
        13
    jarlyyn  
       2017-01-18 12:24:15 +08:00   ❤️ 1
    1.这需求感觉 sqlit 都可以
    2.如果是在 windows 端用话,我感觉我不会用 Python 做这个。用 php 都好过 Python ,部署起来太麻烦。
    3.这种需求不需要啥复杂的框架的。一个 rest 接口就可以了。
    4.定时任务可以用计划任务。可以考虑 curl for win
    Yourdaye
        14
    Yourdaye  
    OP
       2017-01-18 12:53:01 +08:00
    @jarlyyn 本地是 Windows ,服务器端是 linux
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   1068 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 46ms · UTC 19:01 · PVG 03:01 · LAX 12:01 · JFK 15:01
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.