openpyxl读写Excel

目录

一、根据指定列写入excel

二、逐行写入excel文件,表头只写一次

三、读取指定行、列数据

四、获取所有行数据

五、excel utils封装

六、清空sheet表所有内容


一、根据指定列写入excel

import openpyxl as oxl

path = r'./wirte.xlsx'
# 打开已经创建的工作薄
wb = oxl.load_workbook(path)
sheet = wb.worksheets[0]

row_list = ['小张', '100', '20', '30']
# 指定写入第2列数据min_col=2
cols_list = sheet.iter_cols(max_row=len(row_list), min_col=2)
n=0
for i in cols_list:
    for dan in i:
        print(n)
        dan.value=row_list[n]
        n = n + 1
wb.save(path)
path = r'./excel/more.xlsx'
wb = oxl.load_workbook(path)
sheet = wb.worksheets[0]
def write_to_excel(value_list, col_value):
    """
    按指定列写入
    :param value_list:
    :param col_value:
    :return:
    """
    for i in range(1, len(value_list) + 1):
        sheet.cell(i, col_value, value_list[i - 1])
    wb.save(path)

二、逐行写入excel文件,表头只写一次

import openpyxl as oxl

path = r'./wirte.xlsx'
# 打开已经创建的工作薄
wb = oxl.load_workbook(path)
sheet = wb.worksheets[0]
# 添加表头
biaotou = ['姓名', '性别', '岁数']
# 将内容循环写入单元格中
for col in range(len(biaotou)):
    c = col + 1
    sheet.cell(row=1, column=c).value = biaotou[col]


# 写入多行数据
def write_row_excel(row_data):
    sheet.append(row_data)
    wb.save(path)


if __name__ == '__main__':
    row_data = ['weiwei', '男', '28']
    write_row_excel(row_data)

三、读取指定行、列数据

import openpyxl as oxl

path = r'./test.xlsx'
# 打开已经创建的工作薄
wb = oxl.load_workbook(path)
sheet = wb.worksheets[0]

row_list = []
row_value = sheet['B']
print('获取指定一列中的单元格数据')
for i in row_value:
    row_list.append(i.value)

col_list = []
col_value = sheet[2]
print('获取指定一行中的单元格数据')
for i in col_value:
    col_list.append(i.value)

print(row_list)
print(col_list)

四、获取所有行数据

import openpyxl as oxl

import openpyxl as oxl

path = r'./test.xlsx'
# 打开已经创建的工作薄
wb = oxl.load_workbook(path)
sheet = wb.worksheets[0]
#获取1行2列的值
value=sheet.cell(1,2).value
print(value)

#获取最大行数
max_row=sheet.max_row
print(max_row)
#获取所有行数据
all_data=sheet.iter_rows(min_row=1,max_row=max_row,min_col=1, max_col=3, values_only=True)
#注意加上list
print(list(all_data))

五、excel utils封装

def write_to_head(wb, sheet, path, title_list):
    """
    按行表头数据写入
    :param wb: 工作薄
    :param sheet: 工作表对象
    :param path: 需要写入的excel文件路径
    :param title_list: 表头列表值
    :return:
    """
    for col in range(len(title_list)):
        c = col + 1
        sheet.cell(row=1, column=c).value = title_list[col]
        wb.save(path)


def write_row_excel(wb, sheet, path, row_data):
    """
    逐行写入数据
    :param wb: 工作薄
    :param sheet: 工作表对象
    :param path: 需要写入的excel文件路径
    :param row_data:每行需要写入的数据row_data = ['weiwei', '男', '28']
    :return:
    """
    sheet.append(row_data)
    wb.save(path)


def write_col_excel(wb, sheet, path, value_list, col_value):
    """
    按照指定列写入数据
    :param wb: 工作薄
    :param sheet:工作表对象
    :param path:需要写入的excel文件路径
    :param value_list:写入一列的list数据集合
    :param col_value:写入第几列,值为几,入2,为写入第2列
    :return:
    """
    for i in range(1, len(value_list) + 1):
        sheet.cell(i, col_value, value_list[i - 1])
    wb.save(path)


def read_to_excel(sheet, col_index):
    """
    读取指定excel列的数据
    :param sheet: 工作薄
    :param col_index: 列号
    :return:
    """
    col_list = []
    col_value = sheet[col_index]
    for i in col_value:
        col_list.append(i.value)
    return col_list[1:]

六、清空sheet表所有内容

import openpyxl
path = r'./excel/prod.xlsx'
wb = openpyxl.load_workbook(path)

sheet1 = wb.worksheets[0]
#清空所有数据
max_row=sheet1.max_row
sheet1.delete_rows(sheet1.min_row,max_row)
wb.save(path)


  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
### 回答1: openpyxl是一个处理Excel文件的Python库,可以用于读取和写入.xlsx格式的Excel文件。 首先需要安装openpyxl库,可以使用pip命令进行安装: ``` pip install openpyxl ``` 读取Excel文件: ```python import openpyxl # 打开Excel文件 workbook = openpyxl.load_workbook('example.xlsx') # 获取所有sheet名 sheet_names = workbook.sheetnames # 选择第一个sheet sheet1 = workbook[sheet_names[0]] # 获取单元格的值 cell_value = sheet1['A1'].value # 遍历行 for row in sheet1.rows: for cell in row: print(cell.value) ``` 写入Excel文件: ```python import openpyxl # 创建一个新的Excel文件 workbook = openpyxl.Workbook() # 新建一个sheet sheet1 = workbook.active sheet1.title = 'Sheet1' # 写入单元格 sheet1['A1'] = 'Hello' sheet1['B1'] = 'World' # 保存Excel文件 workbook.save('example.xlsx') ``` 以上是简单的读写操作,openpyxl还有很多功能,如合并单元格、设置单元格格式等,可以查看官方文档进行学习和实践。 ### 回答2: openpyxl是一个用于读取和写入Excel文件的Python库。 要使用openpyxl库读取Excel文件,首先需要安装它。可以使用pip命令在命令行中安装openpyxl:pip install openpyxl。 读取Excel文件的一般步骤如下: 1. 导入openpyxl库:import openpyxl。 2. 打开Excel文件:workbook = openpyxl.load_workbook('文件路径')。 3. 选择要操作的表格:sheet = workbook['表格名称']。 4. 使用sheet对象可以读取单元格的值、行、列、范围等。 - 读取单元格的值:value = sheet['单元格名称'].value。 - 读取行:row_values = [cell.value for cell in sheet[行范围]]。 - 读取列:column_values = [cell.value for cell in sheet[列范围]]。 5. 关闭Excel文件:workbook.close()。 要使用openpyxl写入Excel文件,同样需要安装openpyxl库。 写入Excel文件的一般步骤如下: 1. 创建一个工作簿:workbook = openpyxl.Workbook()。 2. 创建一个表格,并选择它:sheet = workbook.active或者sheet = workbook.create_sheet('表格名称')。 3. 使用sheet对象可以写入单元格的值、行、列、范围等。 - 写入单元格的值:sheet['单元格名称'] = '值'。 - 写入行:sheet.append([值1, 值2, 值3, ...])。 - 写入列:for i, 值 in enumerate(值列表): sheet.cell(row=i+1, column=列号).value = 值。 4. 保存Excel文件:workbook.save('保存路径')。 5. 关闭Excel文件:workbook.close()。 通过openpyxl库,我们可以方便地读取和写入Excel文件,使得在Python中处理Excel数据变得更加简单和高效。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

尘缘浮梦

你的鼓励将是我创作最大的动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值