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

这篇博客展示了如何使用pandas库在Python中读取Excel文件,填充空数据,并进行修改。首先,通过pd.read_excel()读取Excel表头,然后通过循环为每一行填充数据。接着,将修改后的数据保存回Excel文件。此外,还演示了如何获取和操作DataFrame中的列,包括删除特定行,以及获取单元格的值和列名。
摘要由CSDN通过智能技术生成

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值