Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/337.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
从站点到postgres python的动态列表_Python_List_Postgresql_Psycopg2 - Fatal编程技术网

从站点到postgres python的动态列表

从站点到postgres python的动态列表,python,list,postgresql,psycopg2,Python,List,Postgresql,Psycopg2,早上好 我正试图把数据从这个。我试图获取每个搜索结果的日期、创建者、相关性、描述、主题、受众和访问权限,并将其放入我的postgres数据库。问题是这个描述有时会被遗漏。所以有时候一个结果有6条记录,有时候一个结果有7条记录 所以我的问题是:如果不存在描述,我怎么能得到一个空的结果呢。欢迎提供任何建议 到目前为止,我的剧本是这样的。如果一个结果上总是有7条记录,它就会填充数据库(我用三条记录进行了测试,记住这一点) 在这种情况下,我会使用和库来提高效率。我建议使用附加包的解决方案,因为您没有指定

早上好

我正试图把数据从这个。我试图获取每个搜索结果的日期、创建者、相关性、描述、主题、受众和访问权限,并将其放入我的postgres数据库。问题是这个描述有时会被遗漏。所以有时候一个结果有6条记录,有时候一个结果有7条记录

所以我的问题是:如果不存在描述,我怎么能得到一个空的结果呢。欢迎提供任何建议

到目前为止,我的剧本是这样的。如果一个结果上总是有7条记录,它就会填充数据库(我用三条记录进行了测试,记住这一点)

在这种情况下,我会使用和库来提高效率。我建议使用附加包的解决方案,因为您没有指定“不”使用它们

与此相反:

n = 3
for i in range(0, len(content), 3):
   q= content[i:i+n]
   con = dbapi.connect(database='import', user='postgres', password='xxx')
   cur = con.cursor()
   cur.execute("INSERT into import VALUES (%s,%s,%s)",q)
   con.commit()
使用类似以下内容:

import pandas as pd
from sqlalchemy import create_engine

# create a connection engine using sqlalchemy
engine = sqla.create_engine('postgresql+psycopg2://postgres:xxx@localhost/import', echo=False)

# read the results file into a pandas DataFrame
df = pd.read_csv('C:/Users/berend/Desktop/record_schoon.txt', delimiter='\t') # or whatever your delimiter is
dfFill = df.fillna("") # "" will be blank space when any record is missing data or 'nan'
dfFill.to_sql("tablename", engine, if_exists="append") #change tablename to the name of your table in import
在这种情况下,我会使用和库来提高效率。我建议使用附加包的解决方案,因为您没有指定“不”使用它们

与此相反:

n = 3
for i in range(0, len(content), 3):
   q= content[i:i+n]
   con = dbapi.connect(database='import', user='postgres', password='xxx')
   cur = con.cursor()
   cur.execute("INSERT into import VALUES (%s,%s,%s)",q)
   con.commit()
使用类似以下内容:

import pandas as pd
from sqlalchemy import create_engine

# create a connection engine using sqlalchemy
engine = sqla.create_engine('postgresql+psycopg2://postgres:xxx@localhost/import', echo=False)

# read the results file into a pandas DataFrame
df = pd.read_csv('C:/Users/berend/Desktop/record_schoon.txt', delimiter='\t') # or whatever your delimiter is
dfFill = df.fillna("") # "" will be blank space when any record is missing data or 'nan'
dfFill.to_sql("tablename", engine, if_exists="append") #change tablename to the name of your table in import

HTH

谢谢您的回复。我现在无法测试它,因为该网站已停止维护,但我有两个问题:1。使用engine=sqla.create\u引擎。什么是sqla,因为我没有给任何东西命名sqla。2.节目怎么知道我有时会漏掉一个片段。我不清楚。你能解释一下吗?我今天试过了,但仍然有一些问题:表导入已经存在。但它正试图制造一个新的。我怎样才能解决这个问题?就像你说的,这样更好吗?但是你能帮我解决我的问题吗?谢谢谢谢你的快速回复!现在我犯了一个奇怪的错误。它说我的表导入不存在,因此它无法导入我表中的记录您的表名是什么?是在数据库中列出表名的方式。如果您在错误消息处发布,人们也会更容易提供帮助。谢谢您的回复。我现在无法测试它,因为该网站已停止维护,但我有两个问题:1。使用engine=sqla.create\u引擎。什么是sqla,因为我没有给任何东西命名sqla。2.节目怎么知道我有时会漏掉一个片段。我不清楚。你能解释一下吗?我今天试过了,但仍然有一些问题:表导入已经存在。但它正试图制造一个新的。我怎样才能解决这个问题?就像你说的,这样更好吗?但是你能帮我解决我的问题吗?谢谢谢谢你的快速回复!现在我犯了一个奇怪的错误。它说我的表导入不存在,因此它无法导入我表中的记录您的表名是什么?是在数据库中列出表名的方式。如果您在错误消息处发布,人们也更容易提供帮助。