python的openpyxl库怎么读取一行或者一列
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python的openpyxl库怎么读取一行或者一列相关的知识,希望对你有一定的参考价值。
参考技术A celltmp=ws.cell(row = i, column = j).valuerowlist.append(celltmp) 参考技术B 在Python中,使用openpyxl库读取Excel文件中的数据非常方便。要读取一行或者一列的数据,可以先通过openpyxl.load_workbook()方法加载Excel文件,然后获取需要读取的工作表(worksheet),最后使用for循环遍历工作表中的每一行或者每一列,即可实现对整个行或列的读取。
以下是一个读取Excel表格中第一行和第一列数据的示例代码:
```python
from openpyxl import load_workbook
# 加载Excel文件
workbook = load_workbook('example.xlsx')
# 选择需要读取的工作表
worksheet = workbook['Sheet1']
# 读取第一行数据
row_data = []
for cell in worksheet[1]:
row_data.append(cell.value)
print(row_data)
# 读取第一列数据
col_data = []
for cell in worksheet['A']:
col_data.append(cell.value)
print(col_data)
```
在上述代码中,我们首先使用openpyxl.load_workbook()方法加载名为"example.xlsx"的Excel文件,并选择其中的"Sheet1"工作表。然后,使用for循环遍历工作表中的第一行和第一列,将每个单元格中的值添加到一个列表中,并用print()函数输出这些数据。
如果需要读取某个特定的行或者列,可以使用worksheet.iter_rows()和worksheet.iter_cols()方法指定起始行号和结束行号、起始列号和结束列号,来获取指定范围内的行或者列数据。例如,可以使用以下代码获取从第2行到第5行的数据:
```python
# 读取第2~5行数据
data = []
for row in worksheet.iter_rows(min_row=2, max_row=5):
row_data = []
for cell in row:
row_data.append(cell.value)
data.append(row_data)
print(data)
```
以上代码使用了worksheet.iter_rows()方法获取第2~5行的数据,并使用嵌套的循环将每一行的数据存储到一个列表中。最后,使用print()函数输出所有行的数据。读取列的方式类似,只需要使用worksheet.iter_cols()方法即可。
python基础教程:python3.7 openpyxl 删除指定一列或者一行的代码
这篇文章主要介绍了python3.7 openpyxl 删除指定一列或者一行,文中通过代码给大家介绍了python3 openpyxl基本操作,代码简单易懂,需要的朋友可以参考下
python3.7 openpyxl 删除指定一列或者一行
# encoding:utf-8
import pandas as pd
import openpyxl
xl = pd.read_excel(r"E:55CRM经营分析表-10001741-1570416265044.xls")
xl.to_excel(r"E:55crms.xlsx")
wk = openpyxl.load_workbook(r"E:55crms.xlsx") #加载已经存在的excel
wk_name = wk.sheetnames
wk_sheet = wk[wk_name[0]]
wk_sheet.cell(2,2,value=‘大区‘)
wk_sheet.cell(2,3,value=‘小区‘)
wk_sheet.cell(2,4,value=‘店铺编码‘)
wk_sheet.cell(2,5,value=‘店铺名称‘)
""" 以上都是读取的代码,看不懂可以看我之前的博客文章 ,外汇经纪商对比下面才是正文内容"""
wk_sheet.delete_rows(3,2) #删除从第一行开始算的2行内容
wk_sheet.delete_cols(1,2) #删除从第一列开始算的2列内容
wk.save(r"E:55s.xlsx")
知识点扩展:
python3 openpyxl基本操作,具体代码如下所示:
#coding:utf-8
import xlrd
import xlwt
# 读写2007 excel
import openpyxl
import sys
#读取设备sn
# def readSN(path):
# wb = openpyxl.load_workbook(path)
# sheet = wb.active
# dict = []
# for i in range(2, sheet.max_row +1):
# c = sheet["C" + str(i)].value;
# d = sheet["D" + str(i)].value;
#
# dict.append(d)
# #dict.append(d)
# #print(c,d)
# return dict;
#
# pass;
# print(readSN("./sim/1.xlsx"))
def read07Excel(path,path1):
wb = openpyxl.load_workbook(path)
sheet = wb.active
# print(sheet.max_column) # 获取最大列数
# print(sheet.max_row) # 获取最大行数
#print(sheet[‘B1‘].value)
wb1 = openpyxl.load_workbook(path1)
sheet1 = wb1.active
for i in range(2,sheet.max_row):
iccid = sheet["B"+str(i)].value;
len_iccid = len(iccid)
if len_iccid == 20 :
sub_iccid = iccid[16:-1]
elif len_iccid == 21:
sub_iccid = iccid[17:-1]
for x in range(1,sheet1.max_row):
#print(sheet1["D"+str(x)].value)
if sub_iccid+"N" == sheet1["D"+str(x)].value:
sheet["O"+str(i)].value = sheet1["C"+str(x)].value;
wb.save(filename=path)
print(str(sheet1["D"+str(x)].value) + " "+ str(sheet1["C"+str(x)].value) +" "+ str(iccid))
print()
pass
# 写入数据
# s =sheet["P"+str(i)].value = "dsdaf";
# wb.save(filename=path)
# p = sheet["P" + str(i)].value;
#print(sub_iccid)
# for row in sheet.rows:
# for cell in row:
# print(cell.value, " ", end="")
# print(cell.column, " ", end="")
#
#
# print()
# sys.exit()
# path = "./sim/2.xlsx"
# wb = openpyxl.load_workbook(path)
# #sheet = wb.sheetnames[0] #获取名称
# sheet = wb.active
# 分别返回
#print(sheet[‘A1‘].value) #获取单元格A1值
read07Excel("./sim/2.xlsx","./sim/1.xlsx")
# wb=openpyxl.load_workbook(‘./sim/1.xlsx‘) #打开excel文件
# print(wb.sheetnames) #获取工作簿所有工作表名
以上是关于python的openpyxl库怎么读取一行或者一列的主要内容,如果未能解决你的问题,请参考以下文章