postgre安装和使用(R&Python)
安装postgre
http://helianthus-code.lofter.com/post/1dfe03e0_1c68233aa
这里选C更好
这里口令密码输入就是黑的
我装的时候反复报错,查了一下发现在一开始选择data为F盘时就在里面创建了一些文件,
需要回头把整个data文件夹都删掉,创建一个新的空的data文件夹,再创建一遍就成功了
换了网络后postgre启动不了
OperationalError: (psycopg2.OperationalError) could not connect to server: Connection refused (0x0000274D/10061)
Is the server running on host "127.0.0.1" and accepting
TCP/IP connections on port 5432?
办法:重启service中的 PostgreSQL
cd C:\Program Files\PostgreSQL\10\bin
pg_ctl start
start不行换pgctl_restart
添加新列
alter table schema_a.table_a add column descr varchar
如何设置自增id
看了两个小时终于解决了
先设置sequence
这个nextval设置在默认处一点用都没有,但是上面建立sequence的步骤是有用的,
之后建立以下查询并运行,是我在用英文搜索after setting sequence in postgresql the column still is null之后终于查到的,
下次遇到任何postgre问题我决定直接用英文搜stackoverflow,官方文档没解决任何问题
ALTER SEQUENCE sequence RESTART WITH 1;
UPDATE report_basic_info SET id=nextval('sequence');
两个stackoverflow链接:
R&postGRE
包
library(RPostgreSQL)
然后连接数据库并规定编码
drv <- dbDriver("PostgreSQL")
con <- dbConnect(drv, host="localhost", user= "postgres", password="#", dbname="postgres")
postgresqlpqExec(con, "SET client_encoding = 'gbk'")
导入表格
com_info = dbSendQuery(con, statement = 'SELECT * FROM listed_company')
com_info <- fetch(com_info, n = -1)
往数据库存入数据
dbWriteTable(con, "MyData", MyData)
Python&postGRE
基础sqlalchemy
# 导入包
from sqlalchemy import create_engine
import pandas as pd
from string import Template
# 初始化引擎
engine = create_engine('postgresql+psycopg2://' + pg_username + ':' + pg_password + '@' + pg_host + ':' + str(
pg_port) + '/' + pg_database)
query_sql = """
select * from $arg1
"""
query_sql = Template(query_sql) # template方法 df = pd.read_sql_query(query_sql .substitute(arg1=tablename),engine) # 配合pandas的方法读取数据库值 # 配合pandas的to_sql方法使用十分方便(dataframe对象直接入库)
df.to_sql(table, engine, if_exists='replace', index=False) #覆盖入库
df.to_sql(table, engine, if_exists='append', index=False) #增量入库
基础psycopg2
1.创建表
#!/usr/bin/pythonimport psycopg2 conn = psycopg2.connect(database="testdb", user="postgres", password="pass123", host="127.0.0.1", port="5432")print "Opened database successfully" cur = conn.cursor()
cur.execute('''CREATE TABLE COMPANY
(ID INT PRIMARY KEY NOT NULL,
NAME TEXT NOT NULL,
AGE INT NOT NULL,
ADDRESS CHAR(50),
SALARY REAL);''')print "Table created successfully" conn.commit()
conn.close()
2.插入记录
cur.execute("INSERT INTO COMPANY (ID,NAME,AGE,ADDRESS,SALARY) \
VALUES (1, 'Paul', 32, 'California', 20000.00 )");
3.select
cur.execute("SELECT id, name, address, salary from COMPANY")
rows = cur.fetchall()for row in rows:print "ID = ", row[0]print "NAME = ", row[1]print "ADDRESS = ", row[2]print "SALARY = ", row[3], "\n"print "Operation done successfully";
conn.close()
4.更新
cur.execute("UPDATE COMPANY set SALARY = 25000.00 where ID=1")
conn.commit
print "Total number of rows updated :", cur.rowcount cur.execute("SELECT id, name, address, salary from COMPANY")
rows = cur.fetchall()for row in rows:print "ID = ", row[0]print "NAME = ", row[1]print "ADDRESS = ", row[2]print "SALARY = ", row[3], "\n"print "Operation done successfully";
conn.close()
5.删除
cur.execute("DELETE from COMPANY where ID=2;")
conn.commit
print "Total number of rows deleted :", cur.rowcount cur.execute("SELECT id, name, address, salary from COMPANY")
rows = cur.fetchall()for row in rows:print "ID = ", row[0]print "NAME = ", row[1]print "ADDRESS = ", row[2]print "SALARY = ", row[3], "\n"print "Operation done successfully";
conn.close()
6.我自己的模板
# -*- coding: gbk -*-
import numpy as np
import pandas as pd
import psycopg2
from sqlalchemy import create_engine
from string import Template
import re
db_engine = create_engine('postgresql://postgres:###@127.0.0.1:5432/postgres')# 初始化引擎
x = pd.read_csv('report_basic_info.txt', delimiter="\t")
table='report_basic_info'
x.to_sql(table, db_engine, if_exists='replace', index=False)
postgre安装和使用(R&Python)的更多相关文章
- 【转】ubuntu下安装eclipse以及配置python编译环境
原文网址:http://blog.csdn.net/wangpengwei2/article/details/17580589 一.安装eclipse 1.从http://www.eclipse.or ...
- SUSE Linux Enterprise 11 离线安装 DLIB 人脸识别 python机器学习模块
python机器学习模块安装 我的博客:http://www.cnblogs.com/wglIT/p/7525046.html 环境:SUSE Linux Enterprise 11 sp4 离线安 ...
- 【转】安装第三方库出现 Python version 2.7 required, which was not found in the registry
安装第三方库出现 Python version 2.7 required, which was not found in the registry 建立一个文件 register.py 内容如下. 然 ...
- 安装第三方库出现 Python version 2.7 required, which was not found in the registry
安装第三方库出现 Python version 2.7 required, which was not found in the registry 建立一个文件 register.py 内容如下. 然 ...
- A Complete Tutorial on Tree Based Modeling from Scratch (in R & Python)
A Complete Tutorial on Tree Based Modeling from Scratch (in R & Python) MACHINE LEARNING PYTHON ...
- python 安装 easy_intall 和 pip python无root权限安装
http://www.cnblogs.com/haython/p/3970426.html easy_install和pip都是用来下载安装Python一个公共资源库PyPI的相关资源包的 首先安装e ...
- 7 Tools for Data Visualization in R, Python, and Julia
7 Tools for Data Visualization in R, Python, and Julia Last week, some examples of creating visualiz ...
- mongo db安装和php,python插件安装
安装mongodb 1.下载,解压mongodb(下载解压目录为/opt) 在/opt目录下执行命令 wget fastdl.mongodb.org/linux/mongodb-linux-x86_6 ...
- NLP︱高级词向量表达(一)——GloVe(理论、相关测评结果、R&python实现、相关应用)
有很多改进版的word2vec,但是目前还是word2vec最流行,但是Glove也有很多在提及,笔者在自己实验的时候,发现Glove也还是有很多优点以及可以深入研究对比的地方的,所以对其进行了一定的 ...
- odoo开发环境搭建(三):安装odoo依赖的python包
odoo开发环境搭建(三):安装odoo依赖的python包 http://www.cnblogs.com/jlzhou/p/5940815.html
随机推荐
- 使用hexo,创建博客
下载hexo工具 1 npm install hexo-cli -g 下载完成后可以在命令行下生成一个全局命令hexo搭建博客可用thinkjs 创建一个博客文件夹 1 hexo init 博客文件夹 ...
- qt creator源码全方面分析(3-1)
目录 qtcreator.pro 包含qtcreator.pri include(filename) Qt版本判断 message(string) $$运算符 error(string) 包含doc. ...
- #2020.1.26笔记——springdatajpa
2020.1.26笔记--springdatajpa 使用jpa的步骤: 1. 导入maven坐标 <?xml version="1.0" encoding="UT ...
- 程序小白如何快速开发OA办公系统
对于企业开发oa办公系统,成本高,周期长.有些企业花高价购买,购买后受制于软件商,很多功能只能按原来设计需求走,无法升级或者升级慢.这些由于软件商的开发效率低难以及时地响应企业的需求变化,所以就有可能 ...
- 什么是Activiti
什么是Activiti Activiti属于工作流引擎的一个开源实现.Activiti由Tom Bayen发起.在2010年5月发布了第一个版本.命名也很有意思的采取了Activities(活动)的化 ...
- 车道线检测LaneNet
LaneNet LanNet Segmentation branch 完成语义分割,即判断出像素属于车道or背景 Embedding branch 完成像素的向量表示,用于后续聚类,以完成实例分割 H ...
- YAML语法使用,JSR303数据校验
YAML YAML是 "YAML Ain't a Markup Language" (YAML不是一种置标语言)的递归缩写 # yaml配置 server: prot: YAML语 ...
- py函数式编程
函数式编程把计算视为函数而非指令,纯函数式编程不需要变量,没有副作用,测试简单,python支持的函数式编程不是纯函数式编程,允许有变量存在,支持高阶函数,支持闭包,有限度的支持匿名函数 变量可以指向 ...
- 基础JavaScript练习(三)总结
任务目的 实践JavaScript数组.字符串相关操作 任务描述 基于任务四进行升级 将新元素输入框从input改为textarea 允许一次批量输入多个内容,格式可以为数字.中文.英文等,可以通过用 ...
- [LeetCode] 207. Course Schedule 课程表
题目: 分析: 这是一道典型的拓扑排序问题.那么何为拓扑排序? 拓扑排序: 有三件事情A,B,C要完成,A随时可以完成,但B和C只有A完成之后才可完成,那么拓扑排序可以为A>B>C或A&g ...