通过python将csv数据导入mysql

rfguy

我正在尝试使用以下代码在 mysql 数据库中插入 csv 数据。

import mysql.connector
import csv

mydb = mysql.connector.connect(
    host="localhost",
    user="root",
    passwd="***",
    database="celldb"
)

mycursor = mydb.cursor()

sql = "DROP TABLE enodeb"
mycursor.execute(sql)

mycursor.execute("CREATE TABLE enodeb (id int(10) AUTO_INCREMENT PRIMARY KEY, enodeb_id VARCHAR(255), enodeb_name VARCHAR(255), cabinet_type VARCHAR(255), du_type VARCHAR(2505), mcc int(3), mnc int(3), ne_type VARCHAR(255), oam_ip VARCHAR(255), s1_ip VARCHAR(25005), nw_type VARCHAR(255))")


with open('site_details.csv', 'r') as csvfile:
    csvreader = csv.reader(csvfile)
    next(csvreader)
    for row in csvreader:
        print (row)
        mycursor.execute('INSERT INTO enodeb(enodeb_id, enodeb_name, cabinet_type, du_type, mcc, mnc, ne_type, oam_ip, s1_ip, nw_type)' 'VALUES(%s %s %s %s %s %s %s %s %s %s)',row)

我的 CSV 文件看起来像这样 -

enodeb_id,enodeb_name,cabinet_type,du_type,mcc,mnc,ne_type,oam_ip,s1_ip,nw_type
936233,936233_LITTLE_STURGEON,RBS 6201,DUS3102,311,850,ERBS,173.254.129.189,2001:4888:2e30:1100:0343:0411:0000:0000,OMS

当我运行此代码时,出现以下错误 -

celldb@lteadmin:~/celldb/python_enb_dump/my_sql_update$ python db_connect.py  
['936233', '936233_LITTLE_STURGEON', 'RBS 6201', 'DUS3102', '311', '850', 'ERBS', '173.254.129.189', '2001:4888:2e30:1100:0343:0411:0000:0000', 'OMS']
Traceback (most recent call last):
  File "db_connect.py", line 26, in <module>
    mycursor.execute('INSERT INTO enodeb(enodeb_id, enodeb_name, cabinet_type, du_type, mcc, mnc, ne_type, oam_ip, s1_ip, nw_type)' 'VALUES(%s %s %s %s %s %s %s %s %s %s)',row)
  File "/usr/local/lib/python2.7/dist-packages/mysql/connector/cursor.py", line 569, in execute
    self._handle_result(self._connection.cmd_query(stmt))
  File "/usr/local/lib/python2.7/dist-packages/mysql/connector/connection.py", line 553, in cmd_query
    result = self._handle_result(self._send_cmd(ServerCmd.QUERY, query))
  File "/usr/local/lib/python2.7/dist-packages/mysql/connector/connection.py", line 442, in _handle_result
    raise errors.get_exception(packet)
mysql.connector.errors.DataError: 1136 (21S01): Column count doesn't match value count at row 1

请告知我缺少什么。

卡尔齐

在插入语句和值语句之间没有空格。此外,您的值应该根据文档以逗号分隔

我认为要使其起作用的另一件事是行是一个元组。

它应该是:

mycursor.execute('INSERT INTO enodeb (enodeb_id, enodeb_name, cabinet_type, du_type, mcc, mnc, ne_type, oam_ip, s1_ip, nw_type) VALUES (%s,%s,%s,%s,%s,%s,%s,%s,%s,%s)', tuple(row))

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

使用xml“地图”通过python将数据导入MySQL?

来自分类Dev

通过PHP将CSV文件导入MySQL

来自分类Dev

通过php将数据导入mysql

来自分类Dev

使用Python将CSV数据导入PostgreSQL

来自分类Dev

试图通过python3将csv文件导入postgresql数据库

来自分类Dev

使用 Python 将 CSV 导入 MySQL 表

来自分类Dev

通过PHP将CSV文件导入SQLite数据库

来自分类Dev

ValueError:通过块将数据导入pandas.csv_reader()

来自分类Dev

将csv导入MySQL

来自分类Dev

将CSV数据导入MySQL数据库中的字段

来自分类Dev

通过jsp servlet将csv文件导入mysql

来自分类Dev

使用python3将csv文件导入mysql数据库

来自分类Dev

如何通过python将csv文件内容导入excel

来自分类Dev

使用cakephp将数据从csv导入到mysql

来自分类Dev

使用Yii Framework将数据从csv导入到Mysql

来自分类Dev

将CSV数据导入Java程序中的mysql表

来自分类Dev

使用Yii 2.0 Framework将数据从xls,csv导入Mysql

来自分类Dev

使用cakephp 2.7.5将数据从csv导入mysql

来自分类Dev

通过bs4将html表数据导入python

来自分类Dev

将.csv数据导入矩阵

来自分类Dev

将.csv数据导入矩阵

来自分类Dev

将csv导入python数据框时排除列

来自分类Dev

将CSV导入MySQL和

来自分类Dev

通过python将文本文件导入mysql,数据类型自动更改为varchar(63)

来自分类Dev

使用 Python 将大型 CSV 文件导入 MySQL

来自分类Dev

通过批量插入或加载数据将CSV文件导入数据库(sql)

来自分类Dev

使用python将rss feed导入MySQL数据库

来自分类Dev

将数据从Excel导入到Mysql Python

来自分类Dev

如何使用python 3.5将mysql数据导入.txt文件?