一、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格式导入):
- #!/usr/bin/env python
- #coding=utf-8
- import xlrd
- import MySQLdb
- #读取EXCEL中内容到数据库中
- wb = xlrd.open_workbook(‘/×.xlsx‘)
- sh = wb.sheet_by_index(0)
- dfun=[]
- nrows = sh.nrows #行数
- ncols = sh.ncols #列数
- fo=[]
- fo.append(sh.row_values(0))
- for i in range(1,nrows):
- dfun.append(sh.row_values(i))
- conn=MySQLdb.connect(host=‘localhost‘,user=‘root‘,passwd=‘×××××ב,db=‘db‘)
- cursor=conn.cursor()
- #创建table
- cursor.execute("create table test4("+fo[0][0]+" varchar(100));")
- #创建table属性
- for i in range(1,ncols):
- cursor.execute("alter table test4 add "+fo[0][i]+" varchar(100);")
- val=‘‘
- for i in range(0,ncols):
- val = val+‘%s,‘
- print dfun
- cursor.executemany("insert into resources_networkdevice values("+val[:-1]+");" ,dfun)
- 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文件每行数据的, 从第二行开始是要跳过标题
forr 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()
# 打印结果
""
"Done! "
""
columns = str(sheet.ncols)
rows = str(sheet.nrows)
"我刚导入了 "
%2B
columns
%2B" 列 and "
%2B
rows
%2B" 行数据到MySQL!"