码迷,mamicode.com
首页 > 编程语言 > 详细

Python安装和操作EXCEL数据

时间:2016-07-20 11:46:44      阅读:1142      评论:0      收藏:0      [点我收藏+]

标签:

一、windows下面安装Python  

1.安装Python

选择的版本是3.5.2版本。windows下面的Python安装一般是通过软件安装包安装而不是命令行,所以首先要在Python的官方主页上面下载最新的Python安装包。下载地址是:https://www.python.org/downloads/

技术分享

下载好后,解压到文件夹中,一直点击下一步就OK了。在安装完成之后,打开控制台,输入“Python”,我们能够看到下面的效果:

 技术分享

因为python.exe文件在 Python 目录下,我们还没有设置环境变量。所以我们需要手动添加环境变量:鼠标右键我的电脑  -> 属性 -> 点击高级系统设置 -> 点击环境变量 -> 点击PATH -> 在最后面加上我们的Python安装路径 -> 点击确定。

用一张图来表示就是:

 技术分享

在这个过程中需要注意的问题是,添加PATH路径的时候,要在最后面添加一个分号。现在再次在cmd里面输入“Python”,就能直接在控制台出入命令了:

技术分享

2.安装pip

同样需要在Python的官网上去下载,选择第二个文件type:source;下载地址是:https://pypi.python.org/pypi/pip#downloads :

 技术分享

下载完成之后,解压到一个文件夹,用CMD控制台进入解压目录,比如:cd C:\Python,回车;输入:

python setup.py install

安装好之后,直接在命令行输入pip,同样会显示‘pip’不是内部命令,也不是可运行的程序。因为还没有添加环境变量。

 技术分享

按照之前介绍的添加环境变量的方法,在PATH最后添加:

C:\Python34\Scripts;           //PS:自己安装的文件夹路径,要精确到Scripts文件夹。

到现在才算完整安装好了pip:

 技术分享

3.安装一些Python的包

比如Tornado这个web框架:

 技术分享

安装openpyxl和PyMySQL 使用同样的命令语句:

pip install openpyxl

 技术分享

pip install PyMySQL

 技术分享

我的是已经安装好了,所以提示已经存在。

到这里,整个安装教程就完成了

二、处理EXCEL(openpyxl模块)

1.读

打开文件:

from openpyxl import load_workbook

excel=load_workbook(‘E:/test.xlsx‘)

 

获取sheet:

table = excel.get_sheet_by_name(‘Sheet1‘)   #通过表名获取  

 

获取行数和列数:

rows=table.max_row   #获取行数

cols=table.max_column    #获取列数

 

获取单元格值:

Data=table.cell(row=row,column=col).value  #获取表格内容,是从第一行第一列是从1开始的,注意不要丢掉 .value

 

2.写

#打开文件

excel=load_workbook(‘E:/test.xlsx‘)

sheet=excel.active

#设定单元格的值,两种方式

sheet.cell(row=2,column=5).value=99

sheet.cell(row=3,column=5,value=100)

#保存修改的文件

excel.save(‘E:/test.xlsx‘)

 

三、数据库连接

注意事项

您已经创建了数据库 TESTDB.

  • 在TESTDB数据库中您已经创建了表 EMPLOYEE
  • EMPLOYEE表字段为 FIRST_NAME, LAST_NAME, AGE, SEX 和 INCOME。
  • 连接数据库TESTDB使用的用户名为 "testuser" ,密码为 "test123",你可以可以自己设定或者直接使用root用户名及其密码,Mysql数据库用户授权请使用Grant命令。
  • 在你的机子上已经安装了 Python MySQLdb 模块。

实例:

以下实例链接Mysql的TESTDB数据库:

#!/usr/bin/python3
 
import pymysql
 
# 打开数据库连接
db = pymysql.connect("localhost","testuser","test123","TESTDB" )
 
# 使用 cursor() 方法创建一个游标对象 cursor
cursor = db.cursor()
 
# 使用 execute()  方法执行 SQL 查询 
cursor.execute("SELECT VERSION()")
 
# 使用 fetchone() 方法获取单条数据.
data = cursor.fetchone()
 
print ("Database version : %s " % data)
 
# 关闭数据库连接
db.close()

执行以上脚本输出结果如下:

Database version : 5.5.20-log

 

excel到mysql数据库表(仅支持.xlsx格式导入):

  1. #!/usr/bin/env python  
  2. #coding=utf-8  
  3. import xlrd  
  4. import MySQLdb  
  5. #读取EXCEL中内容到数据库中  
  6. wb = xlrd.open_workbook(‘/×.xlsx‘)  
  7. sh = wb.sheet_by_index(0)  
  8. dfun=[]  
  9. nrows = sh.nrows  #行数  
  10. ncols = sh.ncols  #列数  
  11. fo=[]  
  12.   
  13. fo.append(sh.row_values(0))  
  14. for i in range(1,nrows):  
  15.       dfun.append(sh.row_values(i))  
  16.   
  17. conn=MySQLdb.connect(host=‘localhost‘,user=‘root‘,passwd=‘×××××ב,db=‘db‘)  
  18. cursor=conn.cursor()  
  19. #创建table  
  20. cursor.execute("create table test4("+fo[0][0]+" varchar(100));")  
  21. #创建table属性  
  22. for i in range(1,ncols):  
  23.     cursor.execute("alter table test4 add "+fo[0][i]+" varchar(100);")  
  24. val=‘‘  
  25. for i in range(0,ncols):  
  26.     val = val+‘%s,‘  
  27. print dfun  
  28.   
  29. cursor.executemany("insert into resources_networkdevice values("+val[:-1]+");" ,dfun)  
  30. conn.commit()  


"""
功能:将Excel数据导入到MySQL数据库
"""
import xlrd
import MySQLdb
# Open the workbook and define the worksheet
book = xlrd.open_workbook("pytest.xls")
sheet = book.sheet_by_name("source")
 
#建立一个MySQL连接
database = MySQLdb.connect (host="localhost", user = "root", passwd = "", db = "mysqlPython")
 
# 获得游标对象, 用于逐行遍历数据库数据
cursor = database.cursor()
 
# 创建插入SQL语句
query = """INSERT INTO orders (product, customer_type, rep, date, actual, expected, open_opportunities, closed_opportunities, city, state, zip, population, region) VALUES (%s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s)"""
 
# 创建一个for循环迭代读取xls文件每行数据的, 从第二行开始是要跳过标题
for r in range(1, sheet.nrows):
      product      = sheet.cell(r,).value
      customer = sheet.cell(r,1).value
      rep          = sheet.cell(r,2).value
      date     = sheet.cell(r,3).value
      actual       = sheet.cell(r,4).value
      expected = sheet.cell(r,5).value
      open        = sheet.cell(r,6).value
      closed       = sheet.cell(r,7).value
      city     = sheet.cell(r,8).value
      state        = sheet.cell(r,9).value
      zip         = sheet.cell(r,10).value
      pop          = sheet.cell(r,11).value
      region   = sheet.cell(r,12).value
 
      values = (product, customer, rep, date, actual, expected, open, closed, city, state, zip, pop, region)
 
      # 执行sql语句
      cursor.execute(query, values)
 
# 关闭游标
cursor.close()
 
# 提交
database.commit()
 
# 关闭数据库连接
database.close()
 
# 打印结果
print ""
print "Done! "
print ""
columns = str(sheet.ncols)
rows = str(sheet.nrows)
print "我刚导入了 " %2B columns %2B " 列 and " %2B rows %2B " 行数据到MySQL!"

Python安装和操作EXCEL数据

标签:

原文地址:http://www.cnblogs.com/hahalian/p/5687604.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!