python学习接口测试

python pandas excle 测试数据填充及修改

2020-11-18  本文已影响0人  freedom_smile
excle只有表头,没有数据:
image.png
import pandas as pd
import random

sheet_name = "Sheet1"
excle_file = r'C:\Users\user\Desktop\excle_data.xlsx'
data = pd.DataFrame(pd.read_excel(excle_file,sheet_name=sheet_name))

# 给每行填充值:
for i in range(1,8):
    data.loc[i] = ['mb'+ str(i),'mc'+ str(i),round(random.uniform(1,10),2)]

# 将修改后的值同步到excle文件
pd.DataFrame(data).to_excel(excle_file,sheet_name='Sheet1', index=False, header=True)
填充值之后的excle:
image.png
各种情况的数据如下:
# 整个表数据
print(data)

  商品编码 商品名称  商品原价(单位:元)
0  mb0  mc0        8.67
1  mb1  mc1        2.17
2  mb2  mc2        6.82
3  mb3  mc3        3.08
4  mb4  mc4        5.40
5  mb5  mc5        6.37
6  mb6  mc6        4.80
7  mb7  mc7        9.43

# 获取所有列
print(list(data))
['商品编码', '商品名称', '商品原价(单位:元)']

# 所有列的值
print(data.values)
[['mb0' 'mc0' 8.67]
 ['mb1' 'mc1' 2.17]
 ['mb2' 'mc2' 6.82]
 ['mb3' 'mc3' 3.08]
 ['mb4' 'mc4' 5.4]
 ['mb5' 'mc5' 6.37]
 ['mb6' 'mc6' 4.8]
 ['mb7' 'mc7' 9.43]]

# 所有数据的行数
print(len(data))
8

# 所有的字段数
print(len(list(data)))
3

# 第一列的名字
print(list(data)[0])
商品编码

# 分别打印所有列的名字
for i in range(len(list(data))):
    print(list(data)[i])
商品编码
商品名称
商品原价(单位:元)

# 用列的名字返回列的所有信息
print(data['商品编码'])
0    mb0
1    mb1
2    mb2
3    mb3
4    mb4
5    mb5
6    mb6
7    mb7
Name: 商品编码, dtype: object

print(data['商品名称'])
0    mc0
1    mc1
2    mc2
3    mc3
4    mc4
5    mc5
6    mc6
7    mc7
Name: 商品名称, dtype: object

print(data['商品原价(单位:元)'])
0    8.67
1    2.17
2    6.82
3    3.08
4    5.40
5    6.37
6    4.80
7    9.43
Name: 商品原价(单位:元), dtype: float64
# 删除行的数据
data.drop(list(range(5)),inplace=True) # 直接修改data
# data.drop(index=[0, 1])  # inplace 默认为False 没有修改data 需要重新赋值

# 将修改后的值同步到excle文件
pd.DataFrame(data).to_excel(excle_file,sheet_name='Sheet1', index=False, header=True)
print(data)

Name: 商品原价(单位:元), dtype: float64
     商品编码    商品名称  商品原价(单位:元)
5  mb5  mc5        8.25
6  mb6  mc6        3.20
7  mb7  mc7        3.88
删除行之后的excle:
image.png
# 获取第二行第二列的值
print(data.loc[1][1])
mc6

# 获取第二行列的名字为"商品名称"的值
print(data.loc[1]['商品名称'])
mc6

上一篇下一篇

猜你喜欢

热点阅读