mysql怎么自动读取excel_读取excel表格以及生成自动化报告

数据库读取

标签(空格分隔): 数据库读取

读excel数据xlrd

当登录的账号有多个的时候,我们一般用excel存放测试数据,本节课介绍,python读取excel方法,并保存为字典格式。

1.先安装xlrd模块,打开cmd,输入pip install xlrd在线安装

pip install xlrd

二、基本操作

1.exlce基本操作方法如下

# 打开exlce表格,参数是文件路径

data = xlrd.open_workbook('test.xlsx')

# table = data.sheets()[0] # 通过索引顺序获取

# table = data.sheet_by_index(0) # 通过索引顺序获取

table = data.sheet_by_name(u'Sheet1') # 通过名称获取

nrows = table.nrows # 获取总行数

ncols = table.ncols # 获取总列数

# 获取一行或一列的值,参数是第几行

print table.row_values(0) # 获取第一行值

print table.col_values(0) # 获取第一列值

三、excel存放数据

1.在excel中存放数据,第一行为标题,也就是对应字典里面的key值,如:username,password

2.如果excel数据中有纯数字的一定要右键》设置单元格格式》文本格式,要不然读取的数据是浮点数

(先设置单元格格式后编辑,编辑成功左上角有个小三角图标)

50c742691053e31356a0e3acdccebc24.png

四、封装读取方法

1.最终读取的数据是多个字典的list类型数据,第一行数据就是字典里的key值,从第二行开始一一对应value值

#!/usr/bin/env python

# coding=utf-8

import xlrd

class ExcelUtil():

def __init__(self, excelPath, sheetName):

self.data = xlrd.open_workbook(excelPath)

self.table = self.data.sheet_by_name(sheetName)

# 获取第一行作为key值

self.keys = self.table.row_values(0)

# 获取总行数

self.rowNum = self.table.nrows

# 获取总列数

self.colNum = self.table.ncols

def dict_data(self):

if self.rowNum <= 1:

print("总行数小于1")

else:

r = []

j = 1

for i in range(self.rowNum - 1):

s = {}

# 从第二行取对应values值

values = self.table.row_values(j)

for x in range(self.colNum):

s[self.keys[x]] = values[x]

r.append(s)

j += 1

return r

if __name__ == "__main__":

filepath = "C:\\Users\\Administrator\\Desktop\\test.xlsx"

sheetName = "Sheet1"

data = ExcelUtil(filepath, sheetName)

print(data.dict_data())

执行结果:

[{'username': '1358590672343543', 'password': '123412343434343'}, {'username': '13585906743345435', 'password': '12341234234343243'}, {'username': '1246879034343543543', 'password': '111111123434343'}]

数据驱动

一、环境准备

1.安装ddt模块,打开cmd输入pip install ddt在线安装

pip install ddt

二、数据驱动原理

1.测试数据为多个字典的list类型

2.测试类前加修饰@ddt.d

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
您可以使用 pandas 库读取 Excel 文件,并根据 Excel 文件中的列名自动生成 MySQL 表。接下来,您可以将 DataFrame 数据写入该表中。首先,您需要安装 pymysql 和 xlrd 库,它们分别是 Python 连接 MySQL 数据库和读取 Excel 文件的库。您可以使用以下命令安装它们: ``` pip install pymysql xlrd ``` 接下来,您可以使用以下代码从 Excel 文件中读取数据,并根据 Excel 文件中的列名自动生成 MySQL 表: ```python import pandas as pd import pymysql # 读取 Excel 文件 df = pd.read_excel('data.xlsx') # 数据库连接信息 host = 'localhost' port = 3306 user = 'root' password = 'password' database = 'test' # 连接数据库并创建表 conn = pymysql.connect(host=host, port=port, user=user, password=password, database=database) cursor = conn.cursor() # 获取 Excel 文件中的列名,并生成对应的 MySQL 表 columns = df.columns.tolist() table_name = 'my_table' sql = f"CREATE TABLE IF NOT EXISTS {table_name} ({','.join([f'{col} VARCHAR(255)' for col in columns])})" cursor.execute(sql) # 将数据写入 MySQL 数据库中 for i, row in df.iterrows(): sql = f"INSERT INTO {table_name} ({','.join(columns)}) VALUES ({','.join([f'"{row[col]}"' for col in columns])})" cursor.execute(sql) # 关闭数据库连接 conn.commit() cursor.close() conn.close() ``` 这段代码会将 Excel 文件中的数据写入名为 my_table 的表中。如果表不存在,则会自动创建。请注意,此代码只是示例代码,实际使用中应该使用参数化查询以避免 SQL 注入攻击。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值