每天十分钟,编程很轻松!大家好,我是码农楠哥。
今天是Python入门课的第三节,上面的视频源是B站,海外的朋友可以前往YouTube观看https://youtu.be/9V5Wgk_v3r8。
上节课我们介绍了Python当中的不同的数据类型,今天让我们来看一个对Excel表格进行操作的例子。
很多金融界的从业者(或其他一些相关产业的从业者)经常会遇到这样一个使用场景:每天或者每周要为组里准备一个报表,该报表要从若干个文件中读取一些数据。比如说,某个报表要从三个表格文件中读取数据,然后对这些数据进行一些运算,比如对他们求个平均值,或者把它里面的一些内容进行拼接,最后按固定的格式生成一个报表。对于这样的任务,其实就非常适合用Python程序来解决。这是因为,如果数据源的格式是相对固定的话,那么你写一个Python程序,每天运行一次就可以重复性的完成这项任务,再也不需要每天手动的去粘贴复制。
我们应该先用动态创建一个文件,和以前一样,我们首先要引用包。因为这次我们要从不同的表格里读取数据,所以我们要用openpyxl包里的另外一个函数load_workbook()
。该函数可以用于读取已经存在的Excel表格。整个程序要完成如下步骤:
- 打开指定的Excel表格。该步骤可以用
load_workbook()
完成。 - 读取指定单元格的数据。读取一个单元格的数据,可以使用
ws["A1"].value
完成。其中ws
保存的是当前活跃的表格,A1是指定的单元格 - 将读取的数据输出到屏幕上。我们可以使用以前讲解过得
print()
函数完成。
整个程序如下:
from openpyxl import load_workbook
stock_wb = load_workbook("stocks.xlsx")
stock_ws = stock_wb.active
aapl = stock_ws["A1"]
print("Today's price is: %s" % aapl.value)
我们还可以将结果输出到另一个新的Excel表格当中。这需要使用我们第一节课讲到的save()
函数。比如说,下面的程序将结果写到了一个新的文件当中。
from openpyxl import Workbook
from openpyxl import load_workbook
stock_wb = load_workbook("stocks.xlsx")
stock_ws = stock_wb.active
aapl = stock_ws["B3"]
test_wb = load_workbook("test.xlsx")
wb = Workbook()
wb.active["A1"] = aapl.value
wb.save("report.xlsx")
print("Today's price is: %s" % aapl.value)
print("Another value: %s" % test_wb.active["B2"].value)
以上就是今天的课程。今天这节课我们第一次使用一个更加具象的案例,向大家介绍了如何使用Python来生成固定格式的报表。随着我们学习的深入,我们的Python程序将逐渐可以完成更加复杂、更加智能的任务。
每天十分钟,编程很轻松!我们下次见!