gpt4 book ai didi

python - 如何使用 pandas 和 pyodbc 将 CSV 文件数据导入我的数据库?

转载 作者:行者123 更新时间:2023-12-01 13:18:03 43 4
gpt4 key购买 nike

导入包

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")

文件示例

数据.csv:

Log  User
1 Jack
2 Jackie
3 Jacky

我希望将这些数据导入 SQL 数据库但失败

我不确定哪里出了问题,但它成功地构建了表格并且无法将 csv 文件读入表格

最佳答案

“CSV”是“逗号分隔值”的首字母缩写词。不幸的是,如今术语“CSV”几乎适用于任何包含数据的文本文件,即使是那些不使用逗号作为字段分隔符的文件。

尽管如此,除非另有说明,否则许多实用程序都假定使用逗号分隔符。 Pandas read_csv方法是其中之一:

sep : str, default ‘,’



所以对于包含的文本文件

Log  User
1 Jack
2 Jackie
3 Jacky

编码

df = pd.read_csv(r"C:\Users\Gord\Desktop\data.txt")
print(df.to_dict())

产生

{'Log  User': {0: '1    Jack', 1: '2    Jackie', 2: '3    Jacky'}}

请注意,只有一列名为 'Log User' , 每行包含文本文件中的整行。

如果您想正确解析该文件,则需要使用

df = pd.read_csv(r"C:\Users\Gord\Desktop\data.txt", delim_whitespace=True)

关于python - 如何使用 pandas 和 pyodbc 将 CSV 文件数据导入我的数据库?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52754666/

43 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com