从站点到postgres python的动态列表
早上好 我正试图把数据从这个。我试图获取每个搜索结果的日期、创建者、相关性、描述、主题、受众和访问权限,并将其放入我的postgres数据库。问题是这个描述有时会被遗漏。所以有时候一个结果有6条记录,有时候一个结果有7条记录 所以我的问题是:如果不存在描述,我怎么能得到一个空的结果呢。欢迎提供任何建议 到目前为止,我的剧本是这样的。如果一个结果上总是有7条记录,它就会填充数据库(我用三条记录进行了测试,记住这一点) 在这种情况下,我会使用和库来提高效率。我建议使用附加包的解决方案,因为您没有指定“不”使用它们 与此相反:从站点到postgres python的动态列表,python,list,postgresql,psycopg2,Python,List,Postgresql,Psycopg2,早上好 我正试图把数据从这个。我试图获取每个搜索结果的日期、创建者、相关性、描述、主题、受众和访问权限,并将其放入我的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.节目怎么知道我有时会漏掉一个片段。我不清楚。你能解释一下吗?我今天试过了,但仍然有一些问题:表导入已经存在。但它正试图制造一个新的。我怎样才能解决这个问题?就像你说的,这样更好吗?但是你能帮我解决我的问题吗?谢谢谢谢你的快速回复!现在我犯了一个奇怪的错误。它说我的表导入不存在,因此它无法导入我表中的记录您的表名是什么?是在数据库中列出表名的方式。如果您在错误消息处发布,人们也更容易提供帮助。