邪修・在WPS里学Python丨0.2.1:xl函数进阶:读出来的到底是啥?

不说话 ✘
不说话 ✘ Lv.2 潜力创作者KVP

Lv.2潜力创作者

📌

💡第2节课时我们讲了用 xl和write_xl 把读写表格

🔥 这次我们专门来讲清楚一个关键问题:

👉 xl() 读出来的,到底是什么?又该怎么用?


😎 直接动手实验

📌

🚀 我们先自己造一张表

write_xl([["渠道","H5"],["数量",1000]],"A1")

print(xl())

▶️ 点运行,看输出!

😱 xl() 读出来的是啥?为啥旁边还有数字?

📌

👉 这个表格结构叫:DataFrame(数据表)

🤔 DataFrame 是什么?

可以这么理解:

👉 WPS整张工作表 = Python里的DataFrame

工作表

DataFrame

👍 本质就是:

👉 一个“带行列结构的二维数据表”

📌

那问题来了:我只想要 B2 怎么办?

💡 😎 表格思维:

=B2

通过=列号+行号定位单元格值

🐍 Python要这样写:

数据 = xl()

值 = 数据.iloc[1, 1]

通过[行索引+列索引]定位数据值

👉 定位逻辑相似, 本质就是通过二维坐标系去定位.

📌

💡重点拆解(非常重要)

数据.iloc[行号, 列号]

👉 注意这里:

行号从 0开始

列号从 0开始

🧠 对照一下更清楚

单元格: Python写法

👉 所以:

值 = 数据.iloc[1,1]

print(值) # 就是B2单元格的值

🥳其他两种读取B2单元格值的方法

📌

尝试下面两种写法的区别:

①: print('xl()[1][1] :', xl()[1][1])

②: print('xl("B2")[0][0] :', xl("B2")[0][0])

📌

🤯 第①种:从整张表里拿

print('xl()[1][1]   :', xl()[1][1])

👉 逻辑是:

1️⃣ xl() → 读取整张表

2️⃣ [1] → 第2行(从0开始)

3️⃣ [1] → 第2列

👉 最终拿到:

1000   # 对应B2
📌

😎 第②种:直接读单元格范围

print('xl("B2")[0][0]   :', xl("B2")[0][0])

👉 逻辑是:

1️⃣ xl("B2") → 只读取一个单元格(但依然是“表结构”)

2️⃣ [0][0] → 这个小表的唯一位置

👉 也拿到:

1000  # 也是B2的值

🧠 两种写法对比总结

写法

含义

xl()[1][1]

从整张表中定位

xl("B2")[0][0]

先缩小范围再取值

👉 本质区别:

🔥 一个是“全表坐标定位”

🔥 一个是“局部范围定位”

📌

😎 再换个角度理解

👉 xl() 就像:

=A1:B2

👉 xl("B2") 就像:

=B2

但!!!

💡 Python不会直接给你值,而是:

👉 永远先给一个“表”

👉 取"单元格"的值, 需要通过行号和列号去定位

😱 我常碰见的错误

📌

以为 xl("B2") 就是一个值

print(xl("B2"))

👉 其实还是一个“1x1的小表”!


忘记从0开始

👉 Python是:

  • 第1行 = 0

  • 第1列 = 0

🎉 小结 & 成就感

📌

你已经:

• 知道 xl() 读取的是 DataFrame(表结构)

• 理解了“Excel表 = Python数据表”

• 学会用 iloc 精准定位单元格

• 通过不同的方法, 正确拿到 B2 的值


📸 试试读取 B2值的不同方法,截图打卡~

四川省
浏览 389
3
9
分享
9 +1
4
3 +1
全部评论 4
 
㊣
write_xl([["渠道","H5"],["数量",1000]],"A1") print(xl()[1][0]) 老师为啥这样显示的是第二列第一行H5,为啥不是像iloc一样第二行第一列取值?
·
回复
㊣
我不明白,是不是wps有bug
· 广东省
回复
 
米斯特王
米斯特王 Lv.2 潜力创作者KVP

Lv.2潜力创作者

打卡学习
· 浙江省
回复