python 从csv文件插入mysql数据库
一个工作遇到的问题,将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数据库的更多相关文章
- 使用pandas中的raad_html函数爬取TOP500超级计算机表格数据并保存到csv文件和mysql数据库中
参考链接:https://www.makcyun.top/web_scraping_withpython2.html #!/usr/bin/env python # -*- coding: utf-8 ...
- Linux 用 shell 脚本 批量 导入 csv 文件 到 mysql 数据库
前提: 每个csv文件第一行为字段名 创建的数据库字段名同csv 文件的字段名 1. 批量导入 多个 csv 文件 for file in ./*.csv;do mv $file tablename. ...
- Spark1.6.2 java实现读取json数据文件插入MySql数据库
public class Main implements Serializable { /** * */ private static final long serialVersionUID = -8 ...
- Spark1.6.2 java实现读取txt文件插入MySql数据库代码
package com.gosun.spark1; import java.util.ArrayList;import java.util.List;import java.util.Properti ...
- JAVA读取CSV文件到MySQL数据库中
maven项目pom配置: <dependency> <groupId>net.sourceforge.javacsv</groupId> <artifact ...
- PHP Apache Access Log 分析工具 拆分字段成CSV文件并插入Mysql数据库分析
现在需要分析访问日志,怎么办? 比如分析D:\Servers\Apache2.2\logs\access2014-05-22.log http://my.oschina.net/cart/针对这个问题 ...
- Python datatime 格式转换,插入MySQL数据库
Python datatime 格式转换,插入MySQL数据库 zoerywzhou@163.com http://www.cnblogs.com/swje/ 作者:Zhouwan 2017-11-2 ...
- CSV文件插入到mysql表中指定列
参考资料: -CSV文件插入到mysql表中指定列
- JSON文件存入MySQL数据库
目标:将不同格式的JSON文件存入MySQL数据库 涉及的点有: 1. java处理JSON对象,直接见源码. 2. java.sql.SQLException: Incorrect string v ...
随机推荐
- loadrunner 使用
loadrunner给我的感觉很强势吧,第一次接触被安装包吓到了,当时用的是win10安装11版本的,各种安装失败,印象很深刻,那时候全班二三十号人,搞环境搞了两天,后来无奈,重做系统换成win7的了 ...
- SQL Server查询使用键查找时锁申请及释放顺序
当然看的过程中,其实自己有个疑问: 对于键查找这类查询,会申请哪些锁,锁申请和释放的顺序是怎样的? 准备 备注:测试表仍然使用高兄文中创建的测试表testklup 在开始之前,使用dbcc ind 命 ...
- 匈牙利算法&模板O(mn)HDU2063
#include<cstdio> #include<cstring> #define maxn 510 using namespace std; int k,g,b,x,y,a ...
- ubuntu 18.04下Chromium设置为系统代理
前言 在ubuntu 18.04下挂上ss后firefox能直接上google了但是chromium上不去 会出现下面两种情况 # This site can't be reached xxxxxx ...
- 【HDOJ6666】Quailty and CCPC(模拟)
题意:给出罚时现场赛的题数和罚时,问是否有在金牌线下取整被卡出,四舍五入卡入的队伍 n<=1e5 思路: #include<bits/stdc++.h> using namespac ...
- php heredoc的用法详解
Heredoc技术,在正规的PHP文档中和技术书籍中一般没有详细讲述,只是提到了这是一种Perl风格的字符串输出技术.但是现在的一些论坛程序,和部分文章系统,都巧妙的使用heredoc技术,来部分的实 ...
- PHP-执行外部程序
备份 / 恢复数据库 exec - 执行一个外部程序(在 php 文件所在目录进行执行) 很久以前写的,很多方法是项目中的直接复制粘体用不了,只能提供下思路. 用到执行外部程序的就这一句: exec( ...
- Repository模式--采用EF Fluent API使用EntityTypeConfiguration分文件配置Model映射关系
EF中类EntityTypeConfiguration是一个很有用的类,在nopCommerence中就使用这个类来分文件分文件配置Model映射关系.今天我就来谈谈Repository模式在Enti ...
- Vagrant 构建 LNMP 一致环境
GitHub 地址 <--- 所有文件都在这里 前提条件 安装 Vagrant,VirtualBox. 设置 下载软件并放入 soft 目录 MySQL:mysql-5.7.22-1.el7.x ...
- 001/Nginx高可用模式下的负载均衡与动静分离(笔记)
Nginx高可用模式下的负载均衡与动静分离 Nginx(engine x)是一个高性能的HTTP和反向代理服务器,具有内存少,并发能力强特点. 1.处理静态文件.索引文件以及自动索引:打开文件描述符缓 ...