正如问题中提到的,我的任务是在本地连接不同数据库的两个数据帧(MySQL和PostgreSQL),并需要在CSV文件中获得输出(dataset)。让我告诉你我到目前为止在以下方面所做的工作:
mysql.connector.connect
创建了连接(con)psycopg2
的postgres李> df1 = pd.read_sql(sql='SELECT * FROM mydatabase.Empl_det', con=conn).to_csv(r'C:\Users\Aaru\Documents\Empl_det1.csv', index=False)
在执行此操作之前,我已经在MySQL和postgres中创建了一个表……因此,我得到了csv格式的输出李>df2 = pd.read_sql(sql='SELECT * FROM postgres.public.salary_details', con=conn).to_csv(r'C:\Users\Aaru\Documents\Emp_sal.csv', index=False)
李>有时我会得到这个MySQL版本的You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax
,我也看过文档……但是我没有得到一个关于我的问题的适当参考
我使用的是MySQL 8.0.21版本和PostgreSQL 10。 有人能帮我把这个加入进来吗?希望以上所述将有助于获得答案。 提前多谢
还有一个问题: 可以这样做然后合并吗
import pandas as pd
import mysql.connector
import psycopg2
conn = mysql.connector.connect(host="localhost",
user="user",
password="mypassword",
database="mydatabase"
)
mycursor_sql = conn.cursor()
con = psycopg2.connect(
database="postgres", user="postgres", password="mypassword", host="localhost", port=5432)
cursor = con.cursor()
df1 = pd.read_sql(sql='SELECT * FROM mydatabase.Empl_det', con=conn).to_csv(
r'C:\Users\Aaru\Documents\Empl_det1.csv', index=False)
df2 = pd.read_sql(sql='SELECT * FROM postgres.public.salary_details', con=conn).to_csv(
r'C:\Users\Aaru\Documents\Emp_sal1.csv', index=False)
merged_df = df1.merge(df2, on='id')
merged_df.to_csv('join.csv')
print("Success")
conn.commit()
conn.close()
还有别的办法吗?。。。需要尽快做出快速反应。 谢谢
对于连接使用merge方法,对于写入使用to_csv方法。但是,如果您有大量数据,这可能会导致您的计算机内存不足
给你:
相关问题 更多 >
编程相关推荐