首页 > 其他分享 >openpyxl 读取 execl

openpyxl 读取 execl

时间:2024-05-23 11:20:24浏览次数:17  
标签:execl 输出 wb 读取 openpyxl worksheet print col row

按列读取数据

from openpyxl import Workbook

# 创建一个新的Excel工作簿
wb = Workbook()

# 获取第一个工作表
worksheet = wb.active

# 多行数据
data = [
    ['Bob', 25, 'Male'],
    ['Charlie', 35, 'Male'],
    ['Alice', 30, 'Engineer']
]

# 逐行添加数据
for row in data:
    worksheet.append(row)

# A 列
cells = worksheet["A"]

# 获取第一列所有单元格的内容
for cell in cells:
    print(cell.value)

# 输出: Bob
# 输出: Charlie
# 输出: Alice

# 打印A列所有内容
for cols in worksheet.iter_cols(min_col=1, max_col=1, values_only=True):
    print(cols)   # 输出: ('Bob', 'Charlie', 'Alice')

# 按A列的索引读取
for cols in worksheet.iter_cols(min_col=1, max_col=1, values_only=True):
    for col in cols:
        print(col)

# 输出: Bob
# 输出: Charlie
# 输出: Alice

# 读取多列内容
for cols in worksheet.iter_cols(min_col=1, max_col=3, values_only=True):
    print(cols)

# 读取多列内容
for cols in worksheet["A:C"]:
    print(cols.values)

# 保存工作簿到指定的文件名
wb.save("execl_test.xlsx")

# 关闭工作簿
wb.close()

按行读取数据

from openpyxl import Workbook

# 创建一个新的Excel工作簿
wb = Workbook()

# 获取第一个工作表
worksheet = wb.active

# 多行数据
data = [
    ['Bob', 25, 'Male'],
    ['Charlie', 35, 'Male'],
    ['Alice', 30, 'Engineer']
]

# 逐行添加数据
for row in data:
    worksheet.append(row)

# 按行打印整个工作表内容
for row in worksheet.iter_rows(values_only=True):
    print(type(row), row)
# 输出: <class 'tuple'> ('Bob', 25, 'Male')
# 输出: <class 'tuple'> ('Charlie', 35, 'Male')
# 输出: <class 'tuple'> ('Alice', 30, 'Engineer')

# 按行打印整个第一行的内容
for row in worksheet.iter_rows(min_row=1,max_row=1,values_only=True):
    print(type(row), row)

# 输出: <class 'tuple'> ('Bob', 25, 'Male')

# 按行获取每个单元格的内容
for row in worksheet.iter_rows(min_row=1,max_row=1,values_only=True):
    for cell in row:
        print(cell)

# 输出: Bob
# 输出: 25
# 输出: Male

# 打印第一行
print(worksheet[1])  # (<Cell 'Sheet'.A1>, <Cell 'Sheet'.B1>, <Cell 'Sheet'.C1>)

for i in worksheet[1]:
    print(i.value)

# 打印多行
for rows in worksheet[2:3]:
    for row in rows:
        print(type(row), row.value)

# 保存工作簿到指定的文件名
wb.save("execl_test.xlsx")

# 关闭工作簿
wb.close()

读取某个单元格

from openpyxl import Workbook

# 创建一个新的Excel工作簿
wb = Workbook()

# 获取第一个工作表
worksheet = wb.active

# 多行数据
data = [
    ['Bob', 25, 'Male'],
    ['Charlie', 35, 'Male'],
    ['Alice', 30, 'Engineer']
]

# 逐行添加数据
for row in data:
    worksheet.append(row)

# 读取A2数据
print(worksheet["A2"].value)  # 输出: Charlie

#
for cells in worksheet["A1":"C2"]:
    for cell in cells:
        print(cell.value)

# 保存工作簿到指定的文件名
wb.save("execl_test.xlsx")

# 关闭工作簿
wb.close()

示例

from openpyxl import Workbook

# 创建一个新的Excel工作簿
wb = Workbook()

# 获取第一个工作表
worksheet = wb.active

# 多行数据
data = [
    ['Bob', 25, 'Male'],
    ['Charlie', 35, 'Male'],
    ['Alice', 30, 'Engineer']
]

# 逐行添加数据
for row in data:
    worksheet.append(row)

cell = worksheet['A1']
cell_range = worksheet['A1':'C3']
colC = worksheet['C']
col_range = worksheet['B:C']
row1 = worksheet[1]
row_range = worksheet[2:3]

print(type(cell), cell)        # 输出: <class 'openpyxl.cell.cell.Cell'> <Cell 'Sheet'.A1>
print(type(cell_range), cell_range)  # 输出: <class 'tuple'> ((<Cell 'Sheet'.A1>, <Cell 'Sheet'.B1>, <Cell 'Sheet'.C1>), (<Cell 'Sheet'.A2>, <Cell 'Sheet'.B2>, <Cell 'Sheet'.C2>), (<Cell 'Sheet'.A3>, <Cell 'Sheet'.B3>, <Cell 'Sheet'.C3>))
print(type(colC), colC)     # 输出: <class 'tuple'> (<Cell 'Sheet'.C1>, <Cell 'Sheet'.C2>, <Cell 'Sheet'.C3>)
print(type(col_range), col_range)  # 输出: <class 'tuple'> ((<Cell 'Sheet'.B1>, <Cell 'Sheet'.B2>, <Cell 'Sheet'.B3>), (<Cell 'Sheet'.C1>, <Cell 'Sheet'.C2>, <Cell 'Sheet'.C3>))
print(type(row1), row1)   # 输出:  <class 'tuple'> (<Cell 'Sheet'.A1>, <Cell 'Sheet'.B1>, <Cell 'Sheet'.C1>)
print(type(row_range), row_range)  # 输出: <class 'tuple'> ((<Cell 'Sheet'.A2>, <Cell 'Sheet'.B2>, <Cell 'Sheet'.C2>), (<Cell 'Sheet'.A3>, <Cell 'Sheet'.B3>, <Cell 'Sheet'.C3>))

# 遍历第一列
for col in worksheet["A"]:
    print(col.value)

# 输出: Bob
# 输出: Charlie
# 输出: Alice

# 保存工作簿到指定的文件名
wb.save("execl_test.xlsx")

# 关闭工作簿
wb.close()

参考文档

https://openpyxl.readthedocs.io/en/stable/tutorial.html#/

标签:execl,输出,wb,读取,openpyxl,worksheet,print,col,row
From: https://www.cnblogs.com/wangguishe/p/18196486

相关文章

  • Spring Boot中的 6 种API请求参数读取方式
    使用SpringBoot开发API的时候,读取请求参数是服务端编码中最基本的一项操作,SpringBoot中也提供了多种机制来满足不同的API设计要求。接下来,就通过本文,为大家总结6种常用的请求参数读取方式。如果你发现自己知道的不到6种,那么赶紧来查漏补缺一下。如果你知道的不止6种,那么告诉大......
  • jdk 中的 ImageIO 读取失败出现空指针
     在java8及之前版本中,jdk中的ImageIO读取图片内容会失败,解决办法使用java9或者使用第三方插件。插件可以使用 TwelveMonkeysImageIO,地址:https://github.com/haraldk/TwelveMonkeys使用方法,在maven中添加依赖<dependency><groupId>com.twelvemo......
  • 通过 adc 实现一个IO对多个按键读取
    如何实现一个IO对多个按键读取(1)当我们需要实现一个IO对多个按键读取的时候,可以采用如下电路,使用IO口的ADC功能,读取电压值,即可知道哪个按键被按下。(2)旁边加上一个10nf的电容,用于按键消抖......
  • Python读取YAML配置数据
    python编写的一些脚本需要一些简单配置时可以使用yaml文件进行设置。本文将介绍如何使用pyyaml进行读取配置数据。首先安装pyyamlpipinstallpyyaml简单使用下pyyaml,比较新的python版本记得要指定Loaderimportyamlcontent_='''typecho:  url:https://www.xtiger......
  • openpyxl utils 模块
    utils模块说明openpyxl.utils模块提供了一些有用的工具来处理Excel表格中的行号和列号的转换。column_index_from_string()column_index_from_string():用于将Excel列字母转换为列索引。column_index_from_string(col_str):col_str(str):列字母字符串,例如'A','......
  • openpyxl styles 模块
    styles模块说明styles模块提供了许多用于设置和控制单元格样式的类和方法。这些类和方法可以帮助你定制Excel工作表中单元格的外观,包括字体样式、边框、填充颜色等。styles模块主要功能Font(字体):Font类用于定义和修改单元格中文本的字体样式,如字体名称、大小、颜色、粗体......
  • openpyxl Worksheet
    worksheet说明Worksheet代表一个Excel工作表。worksheet初始化fromopenpyxlimportWorkbook#创建一个新的Excel工作簿wb=Workbook()#获取第一个工作表worksheet=wb.active#保存工作簿到指定的文件名wb.save("execl_test.xlsx")#关闭工作簿wb.close(......
  • 【C#】读取文件反序列化对应类
    ///<summary>///反序列化///</summary>///<paramname="filePath">文件路径</param>///<returns></returns>publicstaticList<T>JsonToList<T>(stringfilePath){stringjsonStr=File.ReadAllText(fi......
  • JEEVMS仓库管理系统任意文件读取漏洞
    漏洞描述该漏洞由于系统未能正确实施或执行对文件的访问控制权限控制,允许未经授权的用户访问或读取文件,并且应用程序未能对用户输入进行适当验证,攻击者可以构造特殊的输入,如路径遍历攻击读取系统文件内容,导致信息泄露Fofa:body="plug-in/lhgDialog/lhgdialog.min.js?skin=metro......
  • Vue3报错:已声明“upperName”,但从未读取其值。ts-plugin(6133)
    Vue3报错:已声明“upperName”,但从未读取其值。ts-plugin(6133)报错显示:类型“StoreToRefs<Store<"count",{sum:number;name:string;address:string;},{},{increment(value:number):void;}>>”上不存在属性“upperName”。ts-plugin(2339)相关代码:vue文件:con......