【发布时间】:2018-10-11 07:33:15
【问题描述】:
导入包
import pandas as pd
import pyodbc
建立连接
conn = pyodbc.connect("Driver={ODBC Driver 17 for SQL Server}; Server=servername; Database=databasename; Trusted_Connection=Yes")
cur = conn.cursor()
保存构建表的 SQL 代码
string = "CREATE TABLE TESTDATA(Log int PRIMARY KEY, User varchar(15))"
tablename = re.search("CREATE TABLE ([a-z A-Z]+)\(",string)
if tablename:
tablename = tablename.group(1)
如果表名不在sql表列表中,则建表
if not cur.table(table=tablename).fetchone():
cur.execute(string)
conn.commit()
读取 data.csv 文件
df = pd.read_csv(r"data.csv")
df.to_sql(name="TESTDATA", con=conn, index=True, index_label="id")
文件示例
data.csv:
Log User
1 Jack
2 Jackie
3 Jacky
我希望将这些数据导入 SQL 数据库,但失败了
我不知道哪里出了问题,但它成功构建了表格并且无法将 csv 文件读入表格中
【问题讨论】:
-
你给了我们一些代码,太好了。不过,你还没有说你被困在哪里。就目前而言,这个问题很可能已经结束,因为不清楚你在问什么。
-
哎呀,您设法将大部分收到的最糟糕的东西放在第一个问题中:只有代码,没有上下文,没有解释为什么 odbc 和 pandas,没有描述问题和代码的错误未格式化...您真的应该阅读How to Ask 以了解如何编辑此问题以至少解决我的前三句话,最终添加其他改进并能够在将来提出更好的问题:-)
-
为什么将格式还原为代码?没有它很难阅读:..
-
您的 CSV 文件是否真的在逗号分隔符的两侧有空格,即
Log , User而不是Log,User...? -
假设是逐列而不是这种格式。我不知道如何在这里显示。