链接失效无法继续下载了,能再发一次吗

python&导出mongoDB&表数据
原文地址:
最近因为领导要分析数据,需要将mongodb数据库中的某些表导出后再倒入到sqlserver中,但从mongodb中导出的数据又不能直接导入到sqlserver中,需要经过处理后才能导入。下面是直接通过python
将数据表从mongodb中,按指定的要求格式导出来。之前写了个超级复杂的shell来处理数据,但发现用python可以更便捷的直接导出数据,很不错。注意在写python脚本时,代码的缩进非常讲究,需要注意。
这段python的代码功能是:从mongodb数据库中导出指定表,然后移动到指定共享目录里,添加到crontab里 每天执行。
#!/usr/bin/python
# created by zhangkai @
#coding: utf-8
import pymongo
import os&
import time
import glob
import shutil
##############################################################
# Every day create a date dir
&and move &*.txt file
&to the &date dir.
def MOVE_FILE():
&DATE=time.strftime('%Y%m%d',time.localtime(time.time()))
&WORK_DIR='/root/work/script/export/win/input/'
& &NEW_DIR=WORK_DIR+DATE
os.path.isdir(NEW_DIR):
& & &os.makedirs
& &for file in
glob.glob('*.txt'):
& & &print
&shutil.copy(file, NEW_DIR)
&os.remove(file)
##############################################################
def connect_user():
&& &conn =
pymongo.Connection('172.x.x.x', 27017)
& = conn.user
&& &return
cnn=connect_user()
##############################################################
def EXP_CRH_USER_INVITATION():
&Myfile=open('cairh_user_invitation.txt','w')
&cnn.cairh_user_invitation.find({'reg_flag':{'$gt':0}})
&Myfile.write("_id"+"\t"+"dest_email"+"\t"+"id"+"\t"+"issue_time"+"\t"+"promotion_code"+"\t"+"promotion_user"+"\t"+"reg_flag"+"\t"+"reg_time"+"\t"+"reg_user_id"+"\n")
& &for &i in
& & if i.has_key('_id') :
&Myfile.write(str(i['_id']))
& else : Myfile.write("\t"+"")
& if i.has_key('dest_email') :
&Myfile.write("\t"+str(i['dest_email']))
& else : Myfile.write("\t"+"")
& if i.has_key('id') :
&Myfile.write("\t"+str(i['id']))
& else : Myfile.write("\t"+"")
& if i.has_key('issue_time') :
&Myfile.write("\t"+str(i['issue_time']))
& else : Myfile.write("\t"+"")
& if i.has_key('promotion_code') :
&Myfile.write("\t"+str(i['promotion_code']))
& else : Myfile.write("\t"+"")
& if i.has_key('promotion_user') :
&Myfile.write("\t"+str(i['promotion_user']))
& else : Myfile.write("\t"+"")
& if i.has_key('reg_flag') :
&Myfile.write("\t"+str(i['reg_flag']))
& else : Myfile.write("\t"+"")
& if i.has_key('reg_time') :
&Myfile.write("\t"+str(i['reg_time']))
& else : Myfile.write("\t"+"")
& if i.has_key('reg_user_id') :
&Myfile.write("\t"+str(i['reg_user_id']))
& else : Myfile.write("\t"+"")
& Myfile.write("\n") &
& &Myfile.close()
##############################################################
EXP_CRH_USER_INVITATION()
MOVE_FILE()
已投稿到:
以上网友发言只代表其个人观点,不代表新浪网的观点或立场。mysql(3)
在进行python研发的时候,pycharm是一个很好的IDE,今天又发现了一个比较好的功能,就是可以直接通过这个IDE连接数据库,然后对数据库进行相关的操作,这样我们可以不适用navicat for mysql这样的可视化工具了。
下面来说一下怎么通过pycharm来设置吧。
首先打开database,一般在pycharm的右边侧栏中,也可以通过(View--&Tool Windows --& database)打开
打开后点击添加按钮,会让我们选择Data Source(这里的类型还是比较多的,基本上我们使用的都能够支持)
选择好我们需要添加的数据库之后,就可以填写相关数据库的配置了。(这里我自己选的是mysql)
填写User和Password,点击Test Connection(如果Test Connection按钮不能用的话,应该是Driver没有下载,在页面下方会有Download按钮,单击后直接下载就行)
如果我们用户名和密码都是正确的,那么Test Connection就会显示Successful。
此时我们单击ok即可。这样我们就能在pycharm中看到我们数据库中的相关表和记录了。
可以点击More schemas选择显示更多的数据库内容。
也可以直接单击表名,这样就可以看到表中的内容了。
当我们对表格的内容进行修改之后,需要提交之后才能提交到数据库(绿色的是提交修改到数据库按钮,右侧的是Revert恢复到修改之前)。
以上就是通过pycharm的database直接操作数据库的步骤啦。
参考知识库
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:13276次
排名:千里之外
原创:56篇
转载:17篇
阅读:1654
(1)(30)(12)(15)(11)(5)今天看啥 热点:
Pycharm使用技巧(转载),pycharm使用技巧Pycharm使用技巧(转载)
转载自:/cloudtj/articles/5980666.html
0.先安装python解释器Linux不需要安装,默认自带,Windows需要安装,当前最新版本是2.7和3.6下载地址:https://www.python.org/downloads/windows/
默认安装位置:C:\Python27\
记得把环境变量勾选上
&--------------------------------------------------------------------------------------------------------
1.在Pycharm下为你的Python项目配置Python解释器
View-》Toolbar和Tool Buttons
Project:当前项目名&Project Interpreter&add Local
file-&setting
Project :pyproject1-》Project Interpreter
如果当前电脑安装了3.6和2.7两个python,如果项目是用3.6来编写的,就要选择3.6作为解析器
----------------------------------------------------------------------------------------------------2.在Pycharm下创建Python文件、Python模块File&New&Python FileFile&New&Python Package
-----------------------------------------------------------------------------------------------3.使用Pycharm安装Python第三方模块Project:当前项目名&Project Interpreter&点击右侧绿色小加号
PyPI - the Python Package Index --python包索引pip install
第三方模块安装位置:C:\Python27\Lib\site-packages
/usr/lib/python2.6/site-packages/usr/lib64/python2.6/site-packages/
搜索并安装第三方模块
选择模块的版本
仓库来源,实际连接的是:https://pypi.python.org/simple/
从网上下载,电脑必须能上网
安装位置:C:\Python27\Lib\site-packages
---------------------------------------------------------------------------------------------------
4.Pycharm基本设置,例如不使用tab、tab=4空格、字体、字体颜色、主题、脚本头设置、显示行号等。如何导出和导入自定义设置。
不使用tab、tab=4空格:Editor -& Code Style -& Python缩进四个空格,不管在哪个操作系统,哪个IDE都不会有问题,tab可能在其他操作系统缩进会有问题
use tab character和smart tabs的勾去掉,然后下面是4 ,4, 8
字体、字体颜色:
Appearance & Behavior -&Appearance-& Theme : Darcula
Editor -& Colors & Fonts -&FontPrimary font:Courier New
,Size:14
关闭自动更新:Appearance & Behavior& -&System Settings -&Updates
脚本头设置:Editor&-&File and Code Templates -&Python Script 注:其他类似
显示行号:Editor -& General &-& Appearance -& Show line numbers&&注:2016.2默认显示行号
右侧竖线是PEP8的代码规范,提示一行不要超过120个字符
导出、导入你自定义的配置: File -& Export Settings、Import Settings
-------------------------------------------------------------------------------------------------------------5.常用快捷键,例如复制当前行、删除当前行、批量注释、缩进、查找和替换。常用快捷键的查询和配置:KeymapCtrl + D:复制当前行Ctrl + E:删除当前行Shift + Enter:快速换行Ctrl + /:快速注释(选中多行后可以批量注释)Tab:缩进当前行(选中多行后可以批量缩进)Shift + Tab:取消缩进(选中多行后可以批量取消缩进)Ctrl + F:查找Ctrl + H:替换
--------------------------------------------------------------------------------------------------------------------6.Pycharm安装插件,例如Markdown support、数据库支持插件等。Plugins&Browse repositories(下方三个按钮中间那个)&搜索&markdown support&&install右上角View有三个选项可选,一般我们都用中间那个左侧编写,右侧实时预览
-----------------------------------------------------------------------------------------------------7.Git配置需要本地安装好GitVersion Control&Git配置了Git等版本控制系统之后,可以很方便的diff查看文件的不用
-----------------------------------------------------------------------------------------------------------------
8.常用操作指南。例如复制文件路径、在文件管理器中打开、快速定位、查看模块结构视图、tab批量换space、TODO的使用、Debug的使用。复制文件路径:左侧文件列表右键选中的文件&Copy Path在文件管理器中打开:右键选中的文件&往下找到Show In Explorer快速定位:Ctrl + 某些内建模块之后,点击在源文件中展开查看结构:IDE左侧边栏Structure 查看当前项目的结构tab批量换space:Edit&Convert IndentsTODO的使用:# TODO 要记录的事情Debug设置断点,直接点击行号与代码之间的空白处即可设置断点(视频里忘了说)Tab页上右键&Move Right(Down),把当前Tab页移到窗口右边(下边),方便对比文件中右键&Local History能够查看文件修改前后的对比IDE右下角能看到一些有用的信息,光标当前在第几行的第几个字符、当前回车换行、当前编码类型、当前Git分支IDE右侧边栏&Database
--------------------------------------------------------------------------------------9.去掉烦人的波浪线单独一行的注释:#+1空格+注释内容代码后跟着的注释:2空格+#+1空格+注释内容保持良好的统一的编程风格是十分重要的。Google上面有很多关于各种语言的编程规范指导,Python也有自己的一些编程规范,PyCharm也会按一定的规范(比如PEP8)来检查编辑器中的代码。这里的编程风格有代码编写格式层面的也有代码逻辑组织层面的。/iwhgao/zh-google-styleguide/blob/master/google-python-styleguide/python_language_rules.rst/iwhgao/zh-google-styleguide/blob/master/google-python-styleguide/python_style_rules.rst
----------------------------------------------------------------------------------------10.SSH Terminal: Default encoding:UTF8Settings&Tools&SSH Terminal&最后一行Default encoding:选择UTF###8
#!/usr/bin/env python
# -*- coding:utf-8 -*-
#__author__ = "huazai"
pycharm使用指南
def test(num)
test function
for i in range(num):
#代码后面的注释
if j%2 ==0
#单独一行注释
print "The end"
if __name__=="__main__":
相关搜索:
相关阅读:
相关频道:
&&&&&&&&&&&&&&&&
Python教程最近更新

我要回帖

更多关于 链接失效复制发出来 的文章

 

随机推荐