Python+openpyxl将Excel的某一列转成文本格式

  • 欢迎来到Python办公自动化专栏—Python处理办公问题,解放您的双手

  • ️‍ 博客主页:一晌小贪欢的博客主页

  • 该系列文章专栏:Python办公自动化专栏

  • 文章作者技术和水平有限,如果文中出现错误,希望大家能指正

  • ❤️ 欢迎各位佬关注! ❤️

背景:

今天遇到一个非常奇怪的问题,我再帮人工进行拆分Excel表格的时候,拆分出来的表格是需要上传的,有一列的格式叫【常规】,居然上传不了,需要改成【文本】!

你说这都是什么奇葩需求!!!

Python+openpyxl将Excel的某一列转成文本格式_第1张图片
Python+openpyxl将Excel的某一列转成文本格式_第2张图片

原文代码:

import openpyxl

# 加载Excel文件
workbook = openpyxl.load_workbook('your_excel_file.xlsx')
# 选择要操作的工作表
worksheet = workbook['your_worksheet']
# 选择要转换格式的列(例如A列)
column = worksheet['A']

# 遍历选定的列中的所有单元格
for cell in column:
    # 设置单元格格式为文本格式
    cell.number_format = '@'

# 保存修改后的Excel文件
workbook.save('updated_excel_file.xlsx')

注意事项:

column = wb[‘您的sheet名’][‘哪一列’]

if count>=5: # 从哪一行开始

我改写后

# -*- coding: utf-8 -*-
'''
@Time    :2023/7/25 10:24
@作者    :一晌小贪欢
@联系    :xx
'''

from openpyxl import load_workbook

def f1(fn):
    # 加载现有的工作簿
    wb = load_workbook(fn)

    # 选择要转换为文本格式的列
    column = wb['您的sheet名']['哪一列']

    # 使用map函数将每个单元格的值转换为字符串类型
    column_text = list(map(str, column))

    # 将列中的数据类型设置为文本类型
    count = 0
    for cell in column:
        count+=1
        if count>=5: # 从哪一行开始
            # cell.data_type = 'String'
            cell.number_format = '@'
    # 保存工作簿
    wb.save(fn)
 

f1('./updated_excel_file.xlsx')

希望对大家有帮助

致力于办公自动化的小小程序员一枚#

都看到这了,关注+点赞+收藏=不迷路!!

如果你想知道更多关于Python办公自动化的知识各位大佬给个关注吧!

你可能感兴趣的:(Python自动化办公,python,excel,开发语言,办公自动化)