我已经下载了一个csv文件用于测试,并希望将所有数据上传到postgresql数据库。但是,我需要有一个自动递增的ID作为数据库的第一列。最初,我创建了DB with SQL查询: CREATE TABLE pps3
( id integer NOT NULL DEFAULT
nextval('products_product_id_seq'::regclass),
"brandname" character varying(25),
"type1" integer,
"type2" integer,
我使用psycopg2在Python语言中使用PostgreSQL,我使用此函数从CSV文件中复制数据并将其导入我的数据库 with open(csvFile, 'r') as f:
next(f) # Skip the header row.
cur.copy_from(f,table, sep=',') 这样做的问题是,表需要在创建之前创建,这意味着知道文件的内容。有没有办法在postgreSQL中从CSV文件创建一个表?换句话说,将CSV文件转换为表
我必须将数据从一个postgreSQL DB (旧的)传输到另一个postgresSQL DB (新的)。Old用win1252编码。New是用utf-8编码的。 我已经尝试过不同的方法了。pandas.to_sql,sqlalchemy,psycopg2等等,但由于编码“问题”而总是失败。我已经做了一些研究,最有效的事情看起来像是驱动程序方面的问题。据我所知,psycopg2使用unicode驱动程序,但对于我的源数据库版本(x86_64上的PostgreSQL 9.4.20 ),我必须使用ANSI来绕过这些编码问题。 我已经使用ETL工具测试过是否可以在不出现编码问题的情况下导出受影响的
在此之前,我使用CSV来存储数据,并由此生成图形。但是现在我想知道如何使用D3.js从PostgreSQL获取数据。
如果有人知道,请帮助我,我完全是PostgreSQL的新用户。
import psycopg2
import sys
from flask import Flask,render_template
import os
os.chmod("/home/dell/Charts/static/data/data.csv", 0o777)
con = None
con = psycopg2.connect("host='localhost'
当我运行以下命令时:
import psycopg2
#...
cur.execute("DROP TABLE IF EXISTS Song CASCADE")
cur.execute("CREATE TABLE Song "
"(songId INT PRIMARY KEY, "
"data jsonb, "
"lastUpdate TIMESTAMP)")
#...
我得到了
Error type "jsonb" does not exist`
psycopg2
我想复制csv数据,而不将实际的csv上传到我的文件夹。目前,我可以通过以下代码获取csv数据:
f = request.files['data_file'].read()
a = f.decode('utf-8')
如果我打印a,我就可以从csv中获取数据。我的问题是,如何将这些数据复制到我的postgresql数据库?我尝试在postgresql中使用copy命令,但它需要文件的路径,并且我不想存储实际的csv,我只想将其直接复制到postgres数据库中。我正在使用python 3。