gpt4 book ai didi

python - 如何使用python在mysql中创建表并导入数据

转载 作者:行者123 更新时间:2023-11-29 18:04:29 26 4
gpt4 key购买 nike

我想用 python 在 MYSQL 中创建一个表,然后将 csv 中的数据导入到该表中。我创建表的代码是:

    sqlcmd="CREATE TABLE IF NOT EXISTS PA_TEST_CREDITS(`Identifier` TINYTEXT,`Test_Name` TINYTEXT,`Test_Component_Code` TINYTEXT,`Test_Component` TINYTEXT,`Test_Score` TINYINT,`Course_Prefix` TINYTEXT,`Course_Number` TINYTEXT,`Course_Title` TINYTEXT,`EARN_CREDIT` TINYTEXT,`Earned_Credit_Flag` TINYINT)"
cursor.execute(sqlcmd)
rconn.commit()

此代码创建我的表。为了导入数据,我使用了以下代码:

import csv
with open('PA_TEST_CREDITS.csv') as csvfile:
csv_data=csv.reader(csvfile)
for row in csv_data:
cursor.execute("INSERT INTO PA_TEST_CREDITS(Identifier, Test Name, Test Component Code, Test Component, Test Score, Course Prefix, Course Number, Course Title,EARN_CREDIT,Earned Credit Flag) VALUES(%s, %s, %s, %s, %s, %s, %s, %s, %s, %s)", row)

错误是“第 1 行‘Test_score’列的数据被截断”。

如果您能帮助我,我将不胜感激。谢谢

最佳答案

尝试将 row.split(“,”) 作为执行命令的第二个参数,这样您就可以传递一个数组而不是字符串,因为它可能会尝试对所有内容使用相同的字符串您的参数,当它到达第一个非文本列时,它会失败。

还要考虑到 Tinyint 只能保存从 -128 到 127(如果有符号)或从 0 到 255(如果无符号)的值。

如果您对该列的 CSV 具有更大的值,它也会被截断。

如果是这样,请根据您要在此处使用的值检查您需要的正确整数类型:https://dev.mysql.com/doc/refman/5.7/en/integer-types.html

关于python - 如何使用python在mysql中创建表并导入数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48013377/

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