首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在SQL数据库中插入记录和DataFrames

问在SQL数据库中插入记录和DataFrames
EN

Stack Overflow用户
提问于 2021-11-25 13:25:03
回答 2查看 22关注 0票数 0
代码语言:javascript
复制
import csv
#import mysql.connector
import pandas as pd
import pymysql


# Connection to the database

connection = pymysql.connect(host='localhost',
                             user='root',
                             password='password',
                             db='db')




cursor = connection.cursor()

sdata = pd.read_csv(r'/opt/data/data.csv')
sdf = pd.DataFrame(sdata, columns=['Site','t_date','t_time','V_MN'])

for index, row in sdf.iterrows():
        #print(row['V_MIN'])
        cursor.execute('INSERT INTO "Site_Voltage"(v_mn) VALUES ("%s")', row['V_MN'])


connection.commit()

我尝试将csv数据文件中的列的值插入到具有记录v_mn的表Site_Voltage中,但是我得到了以下错误

您的SQL语法中有一个错误;请查看与您的MariaDB服务器版本对应的手册,了解在第1行'"Site_Voltage"(v_mn)值("3.3e0")‘附近使用的正确语法。

有没有人知道我做错了什么?

EN

回答 2

Stack Overflow用户

发布于 2021-11-25 13:30:43

尝试更改

代码语言:javascript
复制
    'INSERT INTO "Site_Voltage"(v_mn) VALUES ("%s")', row['V_MN']'

至

代码语言:javascript
复制
    'INSERT INTO Site_Voltage (v_mn) VALUES ("%s"), row['V_MN']'
票数 0
EN

Stack Overflow用户

发布于 2021-11-25 14:04:42

因此,问题是MySQL数据库上的数据类型需要与I使用int匹配,并且我写入的数据是浮点型或十进制,因此重新创建这些表可能会有所帮助。语法没有任何问题

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70111911

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档