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
sylvos
V2EX  ›  Python

如何实现打开 url,读 sql,pandas 处理, excel 显示

  •  
  •   sylvos · 2016-12-16 08:44:15 +08:00 via iPhone · 3841 次点击
    这是一个创建于 2904 天前的主题,其中的信息可能已经有所发展或是发生改变。
    我想实现如下过程,请前辈答疑解惑。
    1.打开 url,
    2.读 sql,
    3.pandas 处理,
    4.excel 显示,
    后面 2 , 3 , 4 步都没有问题,关键是从 1 到( 2 , 3 , 4 ),怎么做呢,完全没思路,请帮帮忙
    第 1 条附言  ·  2016-12-16 10:43:52 +08:00
    就是比如打开 www.baidu.com,就会执行已经写好的 2 , 3 , 4 的 python 脚本啊
    第 2 条附言  ·  2016-12-16 10:49:20 +08:00
    我建了个 flask 视图函数,把脚本都放里面了,在自己电脑可以运行,用别人电脑访问就没反应了,这中间还要做什么
    第 3 条附言  ·  2016-12-16 14:23:08 +08:00
    这个问题搜索后解决了。另外出来个问题,用户执行视图函数时,比如打开一个文本文件,结果在我的电脑打开了,我想要的是在用户的电脑打开,应该怎么做,如果你知道请告诉我下,搜索引擎效率低,呵呵
    27 条回复    2016-12-21 14:53:39 +08:00
    sylvos
        2
    sylvos  
    OP
       2016-12-16 08:56:32 +08:00 via iPhone
    @Eleutherios 你好,我遇到的困难是从 http://123.123.123.123/到我提到( 2 , 3 , 4 ), 2 , 3 , 4 步都没有困难
    Eleutherios
        3
    Eleutherios  
       2016-12-16 09:21:48 +08:00
    1. 你未能明确自己的需求。
    什么叫“打开 url ”?你是要连接远程数据库?还是把*.sql 下载到本地后加载?

    2. 如果是前者,你并没有好好看我发给你的连接:
    ```
    from sqlalchemy import create_engine

    engine2 = create_engine('mysql://THE DATABASE I AM ACCESSING')
    connection2 = engine2.connect()
    ```

    如果你需要进一步的信息,请自行查询相关 docs : http://docs.sqlalchemy.org/en/latest/core/engines.html

    如果你不知道怎么找到 docs ,请自行学习如何使用 Google 。
    jy02201949
        4
    jy02201949  
       2016-12-16 10:09:59 +08:00
    楼主你到底想实现什么功能感觉都没说清楚,打开 URL 读取 SQL 是什么鬼啦
    loading
        5
    loading  
       2016-12-16 10:14:09 +08:00 via Android
    是 request ?类似爬虫。
    sylvos
        6
    sylvos  
    OP
       2016-12-16 10:41:12 +08:00 via iPhone
    @jy02201949 就是比如打开 www.baidu.com,就会执行 2 , 3 , 4 的 python 脚本啊
    sylvos
        7
    sylvos  
    OP
       2016-12-16 10:42:02 +08:00 via iPhone
    @Eleutherios 就是比如打开 www.baidu.com,就会执行 2 , 3 , 4 的 python 脚本啊
    sylvos
        8
    sylvos  
    OP
       2016-12-16 10:43:00 +08:00 via iPhone
    @loading 就是比如打开 www.baidu.com,就会执行已经写好的 2 , 3 , 4 的 python 脚本啊
    upczww
        9
    upczww  
       2016-12-16 10:45:48 +08:00
    我懂楼主的意思了,比如访问 example.com , 然后执行 2, 3, 4 的脚本,你需要一个 Python 的 web 框架,访问那个路由时,调用视图函数去完成那些事情就行了。
    sylvos
        10
    sylvos  
    OP
       2016-12-16 10:49:03 +08:00 via iPhone
    @upczww 嗯嗯嗯,理解万岁啊,我建了个 flask 视图函数,把脚本都放里面了,在自己电脑可以运行,用别人电脑访问就没反应了,这中间还要做什么
    sylvos
        11
    sylvos  
    OP
       2016-12-16 10:50:30 +08:00 via iPhone
    @upczww 路飞,你知道问题在哪吗?
    upczww
        12
    upczww  
       2016-12-16 10:55:52 +08:00
    @sylvos 你是在本机运行的吧,是不是自己访问 127.0.0.1:端口号 可以,别人不可以? 如果是局域网的话,你可以运行在 0.0.0.0 :端口号,别人访问你的电脑 ip : 端口号。
    sevncz
        13
    sevncz  
       2016-12-16 10:57:47 +08:00
    这描述真是。。。。是别人访问你的 server 还是访问他电脑上的 server ?
    如果是访问你电脑上的 server ,那就是防火墙的事
    jy02201949
        14
    jy02201949  
       2016-12-16 11:12:59 +08:00
    @sylvos 没反应是什么意思,网络通了没,网络通能访问到你的 flask 没(如果你执行 runserver 是可以直接在命令行看到访问进来的记录),跟 pczww 说的一样,你要设置 0.0.0.0 才行: app.run(host='0.0.0.0', port=5000, debug=True)
    sylvos
        15
    sylvos  
    OP
       2016-12-16 11:34:23 +08:00 via iPhone
    @jy02201949 嗯,网络通,谢谢啊,我去试试
    sylvos
        16
    sylvos  
    OP
       2016-12-16 11:35:30 +08:00 via iPhone
    @upczww 嗯,不过用的 tornado,怎么设置呢
    upczww
        17
    upczww  
       2016-12-16 12:13:20 +08:00
    @sylvos 我觉得你用搜索引擎能够找到答案了,是不是?
    loading
        18
    loading  
       2016-12-16 13:06:13 +08:00 via Android
    楼主,去看看 flask 自带的 demo
    BingoXuan
        19
    BingoXuan  
       2016-12-16 14:07:20 +08:00 via iPhone
    lz 需要看看提问的艺术和提高一下语文水平。
    sylvos
        20
    sylvos  
    OP
       2016-12-16 14:21:47 +08:00 via iPhone
    @upczww 嗯这个问题搜索后解决了。另外出来个问题,用户执行视图函数,比如打开一个文本文件,结果在我的电脑打开了,我想要的是在用户的电脑打开,应该怎么做,如果你知道,搜索引擎效率低,呵呵
    upczww
        21
    upczww  
       2016-12-16 15:15:03 +08:00
    @sylvos 你说这样的话我真 TM 想喷你,别人的时间不是时间?
    sylvos
        22
    sylvos  
    OP
       2016-12-16 16:06:53 +08:00 via iPhone
    @upczww 抱歉
    jy02201949
        23
    jy02201949  
       2016-12-16 18:22:10 +08:00   ❤️ 1
    @sylvos 怎么能这样一直问,你应该先有思路,再去搜索引擎,效率不低,不应该什么都问人不经思考
    思路:先先读取文件,把文件内容保存到一个变量, data=open('thefile.txt').read( ),把这个变量在视图里 return 回去,这么简单就完了
    这时候如果读取的文件是 EXCEL ,里面是表格的形式,该怎么读取,用什么变量保存,搜索引擎搜索几个 python excel 关键字即可;读出来的表格怎么展示到网页上,搜索 FLASK 展示表格,也会有答案的。

    综合你发帖的问题,几个关键的地方就按如下实现:
    1 、 flask 做网页展示,设计好视图、路由
    2 、在 flask 视图里实现, pandas 读取 CSV : df=pd.read_csv(), pandas 的 dataframe 转换 HTML : table=df.to_html()
    3 、 flask 视图传数据到模版( HTML )展示,视图里: return render_template('user.html', mytable=table),模板里{{ mytable }}

    上面所写的代码,你都可以自行找资料找教程找搜索引擎来完成的,楼主应该多查找资料学习,这样得到的知识才是自己的
    sylvos
        24
    sylvos  
    OP
       2016-12-16 19:14:51 +08:00 via iPhone
    @jy02201949 嗯,非常感谢你,按你的思路来学习
    loading
        25
    loading  
       2016-12-16 19:17:31 +08:00 via Android
    楼主,我决定 block 你了。勿念。
    Miy4mori
        26
    Miy4mori  
       2016-12-17 12:25:13 +08:00 via Android
    楼主需要学习一些业界通用名词来沟通😋
    Ahri
        27
    Ahri  
       2016-12-21 14:53:39 +08:00
    计算机民科 ;)
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1034 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 25ms · UTC 21:17 · PVG 05:17 · LAX 13:17 · JFK 16:17
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.