.import 201-6ren">
gpt4 book ai didi

python - 使用 Python 将 .csv 文件导入 SQLite 表时指定数据类型的有效方法?

转载 作者:行者123 更新时间:2023-11-30 22:21:30 25 4
gpt4 key购买 nike

我正在将带有标题的 .csv 文件中的数据导入到 SQLite 表中。这当然很容易做到,我可以简单地执行以下操作:

sqlite> .separator ","
sqlite> .import 2015.csv tennisresults2015

但是,如果我这样做,那么所有列都默认为“TEXT”数据类型。相反,我希望我的数字字段默认为“INTEGER”或“REAL”数据类型,哪个合适。

现在我意识到,当我通过以下代码行创建表时,我可以在 Python 中显式定义每一列:

conn = sqlite3.connect('tennisresults.db') #connection
c = conn.cursor() #get a cursor object, all SQL commands are processed by it
c.execute('CREATE TABLE tennisresults2015(ATP INTEGER, Location TEXT, Tournament TEXT)') #etc

但是这个 .csv 文件有很多列,如下所示文件的前两行:

ATP,Location,Tournament,Date,Series,Court,Surface,Round,Best of,Winner,Loser,WRank,LRank,WPts,LPts,W1,L1,W2,L2,W3,L3,W4,L4,W5,L5,Wsets,Lsets,Comment,B365W,B365L,EXW,EXL,LBW,LBL,PSW,PSL,MaxW,MaxL,AvgW,AvgL
1,Brisbane,Brisbane International,01/05/2015,ATP250,Outdoor,Hard,1st Round,3,Duckworth J.,Simon G.,125,21,430,1730,6,2,6,2,,,,,,,2,0,Completed,4.5,1.18,4.3,1.2,4.33,1.2,4.67,1.23,4.73,1.23,4.31,1.2

我想知道是否有比我在 Python 中手动指定每个字段名称和数据类型更有效的方法?

最佳答案

遗憾的是,我认为答案是否定的,没有内置的方法来完成您的要求。您需要:

  • 明确使用您在问题中包含的创建语句。
  • 或者,将数据类型包含在 csv 文件中,并编写您自己的解析机制来读取它们并将它们从实际导入中排除(您需要自己执行而不是使用内置导入。)

关于python - 使用 Python 将 .csv 文件导入 SQLite 表时指定数据类型的有效方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36536742/

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