excle只有表頭,沒有數(shù)據(jù):

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
各種情況的數(shù)據(jù)如下:
# 整個(gè)表數(shù)據(jù)
print(data)
商品編碼 商品名稱 商品原價(jià)(單位:元)
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))
['商品編碼', '商品名稱', '商品原價(jià)(單位:元)']
# 所有列的值
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]]
# 所有數(shù)據(jù)的行數(shù)
print(len(data))
8
# 所有的字段數(shù)
print(len(list(data)))
3
# 第一列的名字
print(list(data)[0])
商品編碼
# 分別打印所有列的名字
for i in range(len(list(data))):
print(list(data)[i])
商品編碼
商品名稱
商品原價(jià)(單位:元)
# 用列的名字返回列的所有信息
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['商品原價(jià)(單位:元)'])
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: 商品原價(jià)(單位:元), dtype: float64
# 刪除行的數(shù)據(jù)
data.drop(list(range(5)),inplace=True) # 直接修改data
# data.drop(index=[0, 1]) # inplace 默認(rèn)為False 沒有修改data 需要重新賦值
# 將修改后的值同步到excle文件
pd.DataFrame(data).to_excel(excle_file,sheet_name='Sheet1', index=False, header=True)
print(data)
Name: 商品原價(jià)(單位:元), dtype: float64
商品編碼 商品名稱 商品原價(jià)(單位:元)
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