一个工作遇到的问题,将excel文件的内容插入到mysql数据库中。

总体思路是 excel文件-->转换成csv文件-->csv文件读取-->读取数据插入mysql数据库

用到python的两个库csv和MySQLdb

下面是具体的code:

代码中数据库部分没啥好记录的,特别记录一下csv库的用法:

# Insert data from csv file.
csv_file = file('3D_PTlabs.csv', 'rb')
csv_reader = csv.reader(csv_file)
csv_reader生成的是一个迭代器,将迭代器内的内容重新整成list便于操作。
rows = [row for row in csv_reader]        
print len(rows[0])
print rows[0]

 # coding: utf-8

 import csv
import MySQLdb create_tablesql = """CREATE TABLE 3DLabInfo (
UserName VARCHAR(20) NOT NULL,
Platform VARCHAR(10),
Craft VARCHAR(20),
OAM VARCHAR(20),
Location VARCHAR(10),
VoicecardType VARCHAR(20),
VoicecardSN VARCHAR(20),
intraIP VARCHAR(10),
PCInternet VARCHAR(20),
PCDNS VARCHAR(20),
SignalIP VARCHAR(20),
ATESipResource VARCHAR(50),
3vlanIP VARCHAR(20),
H248resource VARCHAR(50),
H248SigIP VARCHAR(20),
H248Numbers VARCHAR(50),
GatewayUserID VARCHAR(50),
IsdnAteNum VARCHAR(20),
Comments VARCHAR(50)
)"""
insert_tablesql = " INSERT INTO 3DLabInfo (UserName, \
Platform, Craft, OAM, Location, VoicecardType, VoicecardSN, intraIP, \
PCInternet, PCDNS, SignalIP, ATESipResource, 3vlanIP, H248resource, \
H248SigIP, H248Numbers, GatewayUserID, IsdnAteNum, Comments) VALUES"
# Open Mysql connect
db = MySQLdb.connect("localhost","","","test") cursor = db.cursor()
# Drop the table if existed.
cursor.execute("DROP TABLE IF EXISTS 3DLabInfo")
# Create sql table.
cursor.execute(create_tablesql) # Insert data from csv file.
csv_file = file('3D_PTlabs.csv', 'rb')
csv_reader = csv.reader(csv_file) rows = [row for row in csv_reader]
print len(rows[0])
print rows[0] for data_list in rows[1:]:
insert_sql = insert_tablesql + str(tuple(data_list))
print insert_sql
try:
cursor.execute(insert_sql)
db.commit()
except:
db.rollback()
db.close()

python 从csv文件插入mysql数据库的更多相关文章

  1. 使用pandas中的raad_html函数爬取TOP500超级计算机表格数据并保存到csv文件和mysql数据库中

    参考链接:https://www.makcyun.top/web_scraping_withpython2.html #!/usr/bin/env python # -*- coding: utf-8 ...

  2. Linux 用 shell 脚本 批量 导入 csv 文件 到 mysql 数据库

    前提: 每个csv文件第一行为字段名 创建的数据库字段名同csv 文件的字段名 1. 批量导入 多个 csv 文件 for file in ./*.csv;do mv $file tablename. ...

  3. Spark1.6.2 java实现读取json数据文件插入MySql数据库

    public class Main implements Serializable { /** * */ private static final long serialVersionUID = -8 ...

  4. Spark1.6.2 java实现读取txt文件插入MySql数据库代码

    package com.gosun.spark1; import java.util.ArrayList;import java.util.List;import java.util.Properti ...

  5. JAVA读取CSV文件到MySQL数据库中

    maven项目pom配置: <dependency> <groupId>net.sourceforge.javacsv</groupId> <artifact ...

  6. PHP Apache Access Log 分析工具 拆分字段成CSV文件并插入Mysql数据库分析

    现在需要分析访问日志,怎么办? 比如分析D:\Servers\Apache2.2\logs\access2014-05-22.log http://my.oschina.net/cart/针对这个问题 ...

  7. Python datatime 格式转换,插入MySQL数据库

    Python datatime 格式转换,插入MySQL数据库 zoerywzhou@163.com http://www.cnblogs.com/swje/ 作者:Zhouwan 2017-11-2 ...

  8. CSV文件插入到mysql表中指定列

    参考资料: -CSV文件插入到mysql表中指定列

  9. JSON文件存入MySQL数据库

    目标:将不同格式的JSON文件存入MySQL数据库 涉及的点有: 1. java处理JSON对象,直接见源码. 2. java.sql.SQLException: Incorrect string v ...

随机推荐

  1. 牛客CSP-S提高模拟4 赛后总结

    前言 其实前面已经打了 3 场牛客 3 场计蒜客的比赛,都没有写总结,今天先提一下以前的情况 计蒜客 1 :0+0+0 = 0 (心态崩了,写挂了) 牛客 1: 0+0+0 = 0 (T1博弈论,T2 ...

  2. Android App渗透测试工具汇总

    网上搜集了一些App安全学习教程及工具,项目地址:https://github.com/Brucetg/App_Security 一. drozer简介 drozer(以前称为Mercury)是一款A ...

  3. 启动模式:uefi, legacy,以及GRUB命令使用

    机器启动模式:uefi, legacy 设置入口:BIOS:boot mode 磁盘分区表格式: gpt uefi所使用(此种模式下,grub只能识别gpt格式的boot引导项) mbr legacy ...

  4. Task1.数据集探索

    中文数据集THUCNews:https://pan.baidu.com/s/1hugrfRu 密码:qfud 参考:https://blog.csdn.net/SMith7412/article/de ...

  5. dede标签大全

    想必很多人对后台不熟悉,并且觉得很难.其实不难,只是你们没有找到合适的方法学习而已!只有找到一个合适的学习方法,不管做什么事情,我想都很容易.学习讲究的是效率,而效率又是由思路决定的.就拿网页制作来说 ...

  6. Web上传文件的三种解决方案

    第一点:Java代码实现文件上传 FormFile file = manform.getFile(); String newfileName = null; String newpathname =  ...

  7. (2)用C语言实现面向对象---封装、继承和多态

    封装:struct中封装成员变量和函数指针. 继承:结构体中嵌套结构体. 多态:子类对象动态指向父类的现象叫多态. void  pFunction2(void) { printf(“函数2”): } ...

  8. 如何选择Linux操作系统版本?

    一般来讲, 桌面用户首选Ubuntu; 服务器首选RHEL或CentOS, 两者中首选CentOS; 根据具体要求: 1.安全性要求较高, 则选择Debian或者FreeBSD. 2.需要要使用数据库 ...

  9. php面试专题---19、MySQL高可扩展和高可用考点

    php面试专题---19.MySQL高可扩展和高可用考点 一.总结 一句话总结: 要区别分区和分库分表,分区的话对用户是透明的,分库分表的话需要程序员做点事情,主从数据库同步的话借助的是二进制日志 1 ...

  10. 字符串 编码 utf-8 unicode asicc

    http://www.liaoxuefeng.com/wiki/001374738125095c955c1e6d8bb493182103fac9270762a000/00138681919628358 ...