이 글에서는 주로 Python3을 사용하여 Excel 데이터를 읽고 이를 MySQL에 저장하는 방법을 소개합니다. 이제 이를 공유합니다. 도움이 필요한 친구들이 참고할 수 있습니다.
Python은 데이터 분석을 위한 강력한 도구입니다. .
데이터 분석을 위해 Python을 사용하는 첫 번째 단계는 일상 업무에서 생성되는 다양한 Excel 보고서를 읽고 데이터에 저장하여 후속 데이터 처리를 용이하게 하는 방법을 배우는 것입니다.
여기서 python3가 xlrd를 사용하여 Excel을 읽는 방법과 Python3을 사용하여 pymysql 모듈을 작동하여 Mysql에 데이터를 저장하는 방법을 공유하고 싶습니다.
Foreword
pymsql은 MySQL을 운영하는 Python의 모듈로, 사용법은 MySQLdb와 거의 동일합니다. 그러나 현재 pymysql은 python3.x를 지원하고 후자는 버전 3.x를 지원하지 않습니다.
Python은 Excel을 동작시키기 위해 주로 xlrd와 xlwt 두 라이브러리를 사용합니다. 즉, xlrd는 Excel을 읽기 위한 라이브러리이고, xlwt는 Excel을 쓰기 위한 라이브러리입니다. T 버전
python & gt; = 3.6Mysql & GT; = 5.7.19
설치
Python, MySQL 설치는 여기에 자세히 설명되어 있지 않습니다. 직접 필요한 친구는 Baidu입니다. Baidu xlrd: pip를 사용하여 설치하거나 소스 코드를 수동으로 다운로드하여 설치할 수 있습니다. pip install xlrd
pymysql: pip를 사용하여 설치하거나 소스 코드를 수동으로 다운로드하여 설치할 수 있습니다. 설치: pip install
import xlrd import pymysql from datetime import datetime from xlrd import xldate_as_tuple
Excel 읽기
data = xlrd.open_workbook("D:/sales_data.xls") //读取D盘中名为sales_data的excel表格 table_one = data.sheet_by_index(0) //根据sheet索引获取sheet的内容 table_two = data.sheet_by_index(1)
데이터베이스 연결 만들기
db = pymysql.connect("localhost", "root", "gaishi123", "sales_data", use_unicode=True, charset="utf8")
for site in sites: # 遍历sheet1 for nrows_one in range(1, int(table_one.nrows)): if table_one.cell_value(nrows_one, 0) == site: payday = table_one.cell_value(0, 8) date = datetime(*xldate_as_tuple(payday, 0)) payday = date.strftime('%Y/%m/%d') # 出票日期 sales = float(table_one.cell_value(nrows_one, 1)) # 销量 quantity_ticket = int(table_one.cell_value(nrows_one, 2)) # 票数 rate_electronic = float(table_one.cell_value(nrows_one, 3)) # 电子直销占比 sales_thanlastweek = float(table_one.cell_value(nrows_one, 4)) # 销量同比上周 sales_thanlastyear = float(table_one.cell_value(nrows_one, 5)) # 销量同比去年 break # 遍历sheet2 for nrows_two in range(1, int(table_two.nrows)): if table_one.cell_value(nrows_two, 0) == site: session = int(table_two.cell_value(nrows_two, 1)) # 访问量 rate_conversion = float(table_two.cell_value(nrows_two, 2)) # 转化率 rate_paysuccess = float(table_two.cell_value(nrows_two, 3)) # 支付成功率 session_thanlastweek = float(table_two.cell_value(nrows_two, 4)) # 访问量同比上周 break # 将数据存入数据库 sql = "insert into sales_data(SITE, PAYDAY, SALES, QUANTITY_TICKET, RATE_ELECTRONIC, SALES_THANLASTWEEK," \ "SALES_THANLASTYEAR, SESSION, SESSION_THANLASTWEEK, RATE_CONVERSION, RATE_PAYSUCCESS)" \ " values ('%s','%s', %f, %d, %f, %f, %f, %d, %f, %f, %f)" %\ (site, payday, sales, quantity_ticket, rate_electronic, sales_thanlastweek, sales_thanlastyear, session, session_thanlastweek, rate_conversion, rate_paysuccess) try: # 使用 cursor() 方法创建一个游标对象 cursor cursor = db.cursor() cursor.execute(sql) except Exception as e: # 发生错误时回滚 db.rollback() print(str(e)) else: db.commit() # 事务提交 print('事务处理成功')
위 내용은 Python3을 사용하여 Excel 데이터를 읽고 MySQL에 저장하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!