📜  电子表格用户的Python

📅  最后修改于: 2022-05-13 01:54:36.971000             🧑  作者: Mango

电子表格用户的Python

Excel 是用于数据管理的流行电子表格之一。虽然在长长的 Excel 工作表中编写和更新数据很乏味,但Python有助于最大限度地减少此任务,并有助于轻松创建、读取和编写 Excel 工作表。这可以通过各种Python库来完成,本文将讨论其中的 3。

使用 Openxyl

Openpyxl 是一个Python库,用于读写 Excel(扩展名为 xlsx/xlsm/xltx/xltm)文件。 openpyxl 模块允许Python程序读取和修改 Excel 文件。

安装

在终端中运行以下命令来安装此模块。

创建或编写工作簿

我们在代码编辑器中编写代码并保存代码。



Python3
# import modules
from openpyxl import Workbook
import datetime
  
  
wb = Workbook()
  
ws = wb.active
  
# assign sheet
ws['A1'] = 75
  
# add data
ws.append([1, 2, 3])
ws.append([4, 5, 6])
ws.append([8, 10, 12])
  
ws['A2'] = datetime.datetime.now()
  
# save spreadsheet
wb.save("test.xlsx")


Python3
# import modules
from openpyxl import load_workbook
from openpyxl import Workbook
  
# load spreadsheet
wb = load_workbook(filename = 'test.xlsx')


Python3
# import modules
from openpyxl import Workbook
from openpyxl import Workbook
from openpyxl.drawing.image import Image
Spreadsheet = Workbook()
  
worksheet = Spreadsheet.active
wb = Workbook()
ws = wb.active
  
# assign title
ws['A1'] = 'Two logos demonstrated'
  
# create an image
img = Image('gfg.png')
img2=Image('gfg2.png')
  
# add image
ws.add_image(img, 'A1')
ws.add_image(img2, 'H1')
wb.save('logo.xlsx')


Python3
# import module
import xlwt
from datetime import datetime
  
# assign attributes
style0 = xlwt.easyxf('font: name Verdana, color-index green, bold on',)
style1 = xlwt.easyxf(num_format_str='D-MMM-YY')
style2 = xlwt.easyxf(
    'font: name Times New Roman, color-index orange, bold on',)
  
  
wb = xlwt.Workbook()
ws = wb.add_sheet('A Test Sheet')
  
# add data
ws.write(0, 0, 156, style0)
ws.write(1, 0, datetime.now(), style1)
ws.write(2, 0, 1, style2)
ws.write(2, 1, 1, style2)
ws.write(2, 2, xlwt.Formula("A3+B3"))
  
# printing results
wb.save('example.xls')


Python3
# import module
import xlsxwriter
  
# Create an new Excel file and add a 
# worksheet.
workbook = xlsxwriter.Workbook('demo.xlsx')
ws = workbook.add_worksheet()
  
# Widen the first column to make the 
# text clearer.
ws.set_column('A:A', 20)
  
# Adding a bold format to use to highlight 
# cells.
style = workbook.add_format({'bold': True})
  
# add data
ws.write('A1', 'Geeks')
ws.write('A2', 'for Geeks', style)
ws.insert_image('B5', 'logo.png')
  
workbook.close()


输出:

解释:

我们首先导入库,并为电子表格提供了一个工作簿实例。之后,我们分配对应于 A 列的随机值。这里我们附加了 A1 和 A2。我们还可以覆盖原始值,因为 A1 中的 1 和 A2 中的 4 已被覆盖为各自的日期和时间。最后,我们保存工作表,将其保存为“测试”。

阅读工作簿

我们还可以从以下程序中读取工作簿

蟒蛇3

# import modules
from openpyxl import load_workbook
from openpyxl import Workbook
  
# load spreadsheet
wb = load_workbook(filename = 'test.xlsx')

这将打开我们之前打开的同一个文件。



在工作簿中插入图像

我们还可以在我们的 Excel 工作表中插入一些图像,如下面的代码所示

蟒蛇3

# import modules
from openpyxl import Workbook
from openpyxl import Workbook
from openpyxl.drawing.image import Image
Spreadsheet = Workbook()
  
worksheet = Spreadsheet.active
wb = Workbook()
ws = wb.active
  
# assign title
ws['A1'] = 'Two logos demonstrated'
  
# create an image
img = Image('gfg.png')
img2=Image('gfg2.png')
  
# add image
ws.add_image(img, 'A1')
ws.add_image(img2, 'H1')
wb.save('logo.xlsx')

输出:

解释:

我们必须下载用于依赖的枕头库并导入子库,如图所示。我们现在下载两个我们喜欢的图像,然后给它们指定的行,我们就插入了我们的图像!

使用 XLWT 库

这是一个供开发人员用来生成与 Microsoft Excel 版本 95 到 2003 兼容的电子表格文件的库。包本身是纯Python ,不依赖于标准Python发行版之外的模块或包。

我们可以将值设为粗体、彩色、斜体等。此外,可以控制字体大小。

安装

通过以下命令安装Python包

创建工作簿

下面给出的是一个代码,它提供了探索值的格式,一些没有探索的东西

蟒蛇3

# import module
import xlwt
from datetime import datetime
  
# assign attributes
style0 = xlwt.easyxf('font: name Verdana, color-index green, bold on',)
style1 = xlwt.easyxf(num_format_str='D-MMM-YY')
style2 = xlwt.easyxf(
    'font: name Times New Roman, color-index orange, bold on',)
  
  
wb = xlwt.Workbook()
ws = wb.add_sheet('A Test Sheet')
  
# add data
ws.write(0, 0, 156, style0)
ws.write(1, 0, datetime.now(), style1)
ws.write(2, 0, 1, style2)
ws.write(2, 1, 1, style2)
ws.write(2, 2, xlwt.Formula("A3+B3"))
  
# printing results
wb.save('example.xls')

输出:

解释:

我们导入库,然后声明 3 种不同的样式以应用于这些值。 Style 1 探索一个家族,颜色为绿色,而第三个是Times New Roman,颜色为橙色,造型大胆。如果提到的话,Stye 1 是日期的格式,它是 D-MM-YY

这次我们在各自的行和列中写入值,都从 0 索引开始。因此,ws.write(row, column, value, style)。样式在这里是可选的。

使用 Xlsx 编写器

XlsxWriter 是一个Python模块,用于写入 Excel 2007+ XLSX 文件格式的文件。 XlsxWriter 可用于写入文本、数字、公式和到多个工作表的超链接,它支持的特性这里是一个简单的例子:条件格式,工作表PNG/JPEG/BMP/WMF/EMF 图像,丰富的多格式字符串,单元格注释。,与 Pandas 的集成。,文本框。,支持添加宏。



安装

从命令安装以下库

例子

这是创建 Excel 工作表的另一种方法,具有广泛的选项以及支持的所有扩展程序的图像。下面我们来看一个代码示例。

蟒蛇3

# import module
import xlsxwriter
  
# Create an new Excel file and add a 
# worksheet.
workbook = xlsxwriter.Workbook('demo.xlsx')
ws = workbook.add_worksheet()
  
# Widen the first column to make the 
# text clearer.
ws.set_column('A:A', 20)
  
# Adding a bold format to use to highlight 
# cells.
style = workbook.add_format({'bold': True})
  
# add data
ws.write('A1', 'Geeks')
ws.write('A2', 'for Geeks', style)
ws.insert_image('B5', 'logo.png')
  
workbook.close()

解释:

我们首先导入上述库并创建一个工作簿(demo.xlsx),然后设置一个宽列并将大小设置为 20。然后我们声明一个样式名称为粗体,将样式设置为 true。接下来,我们写了没有风格的“Geeks”这个词,但下一个词“for Geeks”应用于我们给出的风格。请注意,与前面的示例相比,我们使用 true 而不是 on 和 easyxf函数来声明样式。与其他两种语法相比,这使得 xlsxWriter 成为最具可读性和用户自由的语法。

输出: