轻松访问DES数据库。增强的用于des的命令行sql解释器客户端

easyaccess的Python项目详细描述


#easyaccess最新版本licensepypi version![](https://img.shields.io/conda/v/mgckind/easyaccess.svg)![](https://img.shields.io/conda/pn/mgckind/easyaccess.svg)![](https://img.shields.io/badge/python-2.7%7c3.6-blue.svg)[![DOI](http://joss.theoj.org/papers/10.21105/joss.01022/status.svg)(https://doi.org/10.21105/joss.01022)

[帮助屏幕](data/help.gif)

它提供了一个带有自定义命令的自定义界面,专门用于访问来自暗能量测量Oracle数据库的数据,包括表、列、用户和命令的自动完成,使用csv、fits和hdf5格式上载和下载表的简单方法,迭代器,search和表格说明等。它可以很容易地扩展到其他调查或sql数据库。这个包完全是用python编写的,并且支持自定义的命令和功能添加。

`easyaccess`使用:

easyaccess-s desdr

;11g.2(外部库,无python)
有关如何安装这些库的说明,请查看[此处](https://www.oracle.com/technetwork/database/database-technologies/instant-client/overview/index.html)
-[cx_oracle](https://cx oracle.readthedocs.io/en/latest/index.html)
-注意甲骨文在某些Linux系统上需要libaio
-注意,甲骨文在某些Linux系统上需要libbz2
-[fitsio](https://github.com/esheldon/fitsio)>;=0.9.6
-[pandas](http://pandas.pydata.org/)>;=0.14
-[numpy](https://docs.scipy.org/doc/numpy-1.15.1/reference/index.html)
-[termcolor](https://pypi.python.org/pypi/termcolor)
-[pytables](http://pytables.github.io/)(可选,用于hdf5输出)
-[未来](http://python-future.org/)(用于python 2/3兼容性)
-[请求](http://docs.python requests.org/en/master/)
-[gnureadline](https://git)hub.com/ludwigschwardt/python gnureadline)(可选,以便在os x中获得更好的控制台行为)

` easyaccess主要基于oracle python客户机cx_oracle,您可以按照[此处]中的安装说明进行操作(https://cx oracle.readthedocs.io/en/latest/installation.html快速启动cx oracle安装)。要使"cx_oracle"正常工作,您需要从[此处](https://www.oracle.com/technetwork/database/database technologies/instant client/overview/index.html)获取Oracle即时客户端包。

在easyaccess中,您可以打开一个python解释器并键入:

import cx_oracle

如果有问题,请查看[疑难解答页面](https://cx-oracle.readthedocs.io/en/latest/installation)。html疑难解答)或我们的[常见问题解答页面](faq.md)。


\如上文所述,Oracle即时客户端的关系

pip install easyaccess==1.4.7


>或直接从github:


pip install git+https://github.com/mgckind/easyaccess.git

ing[conda](http://conda.pydata.org/docs/install/quick.html)开箱即用!

conda install easyaccess==1.4.7-c mgckind-c anaconda

我们将不断更新,请查看[此处](faq.md)。

参考文献[https://arxiv.or g/abs/1810.02721](https://arxiv.org/abs/1810.02721)或复制/粘贴本bibtex:
```
@article{2018arxiv1810027201721c,
author={{carrasco kind},m.和{drlica wagner},a.和{koziol},a.~m.~g.和
{{petravick},d.},
title={easya-easya:是的ccess:天文测量增强sql命令行解释器},
journal={arxiv e-prints},
keywords={astrophysics-instrumentation and methods for astrophysics},
year=2018,
month=oct,
eid={arxiv:1810.02721},
pa历代历代历代:1810.02721},
archiveprefix={arxiv},
epprint={1810.02721},
primaryclass={astro-ph.im},
adurl={https://ui.adabs.harvarvarvarvard.edu/{abs/2018arxiv1810027221c},
ad音符={由sao/nanasa天体物理学数据系统提供。




` `

<<
` ` ` ` ` ` ` ` ` ` ` ` ` br/>
用法

有关简短的教程和文档,请参见[此处](http://matias ck.com/easyaccess),请注意,并非所有功能都可供公共使用,即DR1用户使用。

r/>-用于命令、表名、列名和文件路径的智能选项卡自动完成功能
-将输出结果写入csv、tab、fits或hdf5文件
-将csv、fits或hdf5文件中的表直接加载到数据库中(通过使用行数或内存限制实现内存友好)
-内部数据库命令描述表、模式、配额等
-easyaccess可以用完整的python api从python导入为模块
-直接从命令行运行命令
-从文件和/或编辑器加载sql查询
-如果需要,显示查询的执行计划
-python函数s可以在内联查询中运行,假设"easyaccess"在您的路径中,您可以通过调用"easyaccess"进入交互式解释程序,而不需要任何命令行参数:


<
在解释器内部,通过在末尾添加";"来运行SQL查询:

desdb~>;选择…从…在哪里?;

若要将结果保存到表中,请在查询结束后(在";"之后)添加">;"并在行尾添加namefile

desdb~>;选择…从…在哪里?;>;test.fits

目前支持的文件类型有:.csv、.tab、.fits和.h5。忽略任何其他扩展名。

--tablename

desdb~>;加载表<;文件名>;--tablename<;mytable>;--chunksize<;要读取/上载的行数>;--memsize<;每次读取的内存(MB)>;

####加载SQL查询
若要加载SQL查询,只需运行:




查询格式与解释器相同,SQL语句必须以";"结尾,"若要写入输出文件,查询必须是f"遵循">;<;output file>;"


并且:

desdb~>;config all show


要查看当前值,要修改一个值,例如prefetch value



,要查看任何特定选项(例如超时):

desdb~>;config timeout show

命令行用法

要查看命令行选项列表,请使用``--help``选项


托管给定类的文件的名称。主类"easy_or()"继承了来自所有不同子类的所有方法,使该模型具有灵活性,并可扩展到其他调查或数据库。然后将这些方法转换为命令行命令和函数,这些命令和函数可以在"easyaccess"中调用。考虑到des有一些特定的函数,我们将des方法移到了一个单独的类` desactions()`.

![`easyaccess`架构图](paper/classes\u simple.png)

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
循环在Java TimerTask中无延迟地连续运行任务   java Jenkins无法从selenium脚本启动实际的chrome浏览器   具有5个最高值的java打印键   来自EditText的java输入仅接收提示,而不是输入的文本   使用JavaFX的java显示JTable   方法中的java返回数组   Java正则表达式字符串匹配   Java是一个不可移动的空白字符串   用javac实现java选择方法   java生成JSF2 CRUD我可以为任何实体自动创建bean和xhtml吗?   在屏幕上读取和打印java JSON   java Spring Security JWT登录端点抛出403错误   java旋转列表<Character>并维护字号   java根据图像大小调整图像大小以适应整个JLabel   java需要程序找到空间,从空间的左右两侧提取变量并打印出来。我该怎么做?   java字符串。split()不作用于分号或空格分隔符   java Fire base错误安卓   java将字符串颜色名称转换为颜色值(整数)   selenium我的Java代码抛出Java。lang.NullPointerException