字符串按顺序替换_快速按顺序填充英文字母的技巧,如导入Excel后,更方便

Excel自带自动填充功能对英文字母填充无能为力,本文分享快速按顺序填充英文字母的技巧。包括按行、按列填写方法,还可将顺序导入“自定义序列”。介绍了函数套用及修改方法,也说明了填充小写字母的变换方式。
53717c48498ff2d4dfaec5e57e541a20.png

经常使用Excel制表的伙伴都知道,在Excel中阿位伯数字、每周星期数等都是可以自动填充的,使用起来非常方便。而我们发现当我们需要按顺序填充英文字母时,Excel自带的自动填充功能却无能为力了。在此,小编分享一种快速按顺序填充英文字母的技巧与大家,希望能对您有所帮助。

一、按行填写方法

比如,在表格的第一行按顺序填上A1、B1、C1、D1、E1、F1、G1、H1、I1、J1、K1、L1、M1、N1、O1、P1、Q1、R1、S1、T1、U1、V1、W1、X1、Y1、Z1。

1、启动Excel,如下图。

68b389e81a78d10164e79ee467604330.png

2、在A1单元格键入"A1",如下图。

f4c7cd9716b5b2f5634d99e8f7951ce4.png

3、在B1单元格键入"=CONCATENATE(CHAR(CODE(A1)+1),1)",如下图。

9459283d924a1bb954aaab4c6863e913.png

4、将鼠标移至B1单元格右下角,鼠标变为黑色十字,即"+"时,压住鼠标左键不放横向拖动至Z列时松手。26个英文大写字母就按横向顺序填全了。如下图。

7a3f4128e02ab7baa28bc7841d3ff4ad.png

二、按列填写方法

如需按列按的顺序填全26个英文大写字母,方法同上,在A2单元格内键入"=CONCATENATE(CHAR(CODE(A1)+1),1)",,如下图。

dc81e8c9d91aa7980f542dcec873682f.png

将鼠标移至A2单元格右下角,鼠标变为黑色十字,即"+"时,压住鼠标左键不放拖动至A列第26行时时松手。如下图。

033859443427f54c9d1c123de89491cc.png

三、导入应用的方法

如工作中经常遇到按顺序填写英文大写字母,可将上表中的顺序导入"自定义序列",这样以后使用时只要按顺序输入两个连续的字母,再进行拖动,速度会更快、效果会更佳。

点击"工具"—"自定义序列"—选择导入区间—"导入"—"添加",如下图。

f474c2aa009a572a6df01a1241a6e8ca.png

说明:

1、"=CONCATENATE(CHAR(CODE(A1)+1),1)"是几个函数的套用,A的后面跟的1是可以去掉的,也可以是其他任何数字或是任意的字符串,这可根据使用者的工作需要进行更改。方法是:将函数里的"+1"替换为"+字符串"。

2、如需按顺序填充英文小写字母,只需将A1单元格中的字符串替换为a1,则其他单元格则全部自动变换为小写字母。如下图。

a5663bd22a3e2e0fafe2ae9271c4214b.png
再加一个功能:1.创建一个按钮显示“完成首拼”,再新创建的excel文件里,会自动生成首拼,用python代码实现import sys import pandas as pd from 连接池到实验 import * from PyQt5.QtWidgets import ( QApplication, QWidget, QLabel, QLineEdit, QPushButton, QFileDialog, QMessageBox, QVBoxLayout, QComboBox, QHBoxLayout ) import numpy as np import os import tempfile import win32com.client as win32 # 用于操作Excel # 主窗口类 class ExcelImporter(QWidget): def __init__(self): super().__init__() self.setWindowTitle("Excel 导入 MySQL 工具") self.resize(600, 400) # 增加窗口高度以容纳新控件 self.last_created_excel = None # 记录最后创建的Excel文件路径 self.templates = { "客户信息": [ "姓名","首拼"], "产品信息": [ "产品名称", "首拼"], "订单记录": ["客户名","首拼"] } self.init_ui() def init_ui(self): layout = QVBoxLayout() # 模板选择区域 layout.addWidget(QLabel("选择模板:")) template_layout = QHBoxLayout() self.template_combo = QComboBox() self.template_combo.addItems(self.templates.keys()) template_layout.addWidget(self.template_combo) self.create_button = QPushButton("创建Excel") self.create_button.clicked.connect(self.create_excel_template) template_layout.addWidget(self.create_button) self.complete_button = QPushButton("我已编辑完成") self.complete_button.clicked.connect(self.on_complete_clicked) self.complete_button.setEnabled(False) # 初始禁用 template_layout.addWidget(self.complete_button) layout.addLayout(template_layout) # 文件路径输入框 layout.addWidget(QLabel("选择 Excel 文件:")) self.file_path_edit = QLineEdit() self.browse_button = QPushButton("浏览") self.browse_button.clicked.connect(self.select_file) file_layout = QHBoxLayout() file_layout.addWidget(self.file_path_edit) file_layout.addWidget(self.browse_button) layout.addLayout(file_layout) # 表名输入框 layout.addWidget(QLabel("目标数据库表名:")) self.table_name_edit = QLineEdit() layout.addWidget(self.table_name_edit) # 导入按钮 self.import_button = QPushButton("导入数据库") self.import_button.clicked.connect(self.import_to_database) layout.addWidget(self.import_button) self.setLayout(layout) def create_excel_template(self): """创建Excel模板并打开""" try: # 获取选中的模板名称 template_name = self.template_combo.currentText() # 创建临时Excel文件 with tempfile.NamedTemporaryFile(suffix='.xlsx', delete=False) as tmp: file_path = tmp.name self.last_created_excel = file_path # 创建DataFrame并写入列标题 headers = self.templates[template_name] df = pd.DataFrame(columns=headers) df.to_excel(self.last_created_excel, index=False) # 使用Excel 2013打开文件 excel = win32.gencache.EnsureDispatch('Excel.Application') excel.Visible = True workbook = excel.Workbooks.Open(os.path.abspath(self.last_created_excel)) # 启用"我已编辑完成"按钮 self.complete_button.setEnabled(True) QMessageBox.information(self, "成功", f"Excel模板已创建,请编辑后点击'我已编辑完成'") except Exception as e: QMessageBox.critical(self, "错误", f"创建Excel失败: {str(e)}") def on_complete_clicked(self): """处理编辑完成按钮点击事件""" if self.last_created_excel and os.path.exists(self.last_created_excel): self.file_path_edit.setText(self.last_created_excel) self.table_name_edit.setText(self.template_combo.currentText()) self.complete_button.setEnabled(False) # 重置按钮状态 else: QMessageBox.warning(self, "警告", "未找到创建的Excel文件") def select_file(self): file_path, _ = QFileDialog.getOpenFileName(self, "选择 Excel 文件", "", "Excel 文件 (*.xlsx *.xls)") if file_path: self.file_path_edit.setText(file_path) def import_to_database(self): file_path = self.file_path_edit.text() table_name = self.table_name_edit.text() if not file_path: QMessageBox.critical(self, "错误", "请选择一个 Excel 文件") return if not table_name: QMessageBox.critical(self, "错误", "请输入目标数据库表名") return try: with POOL.connection() as conn: with conn.cursor() as cursor: df = pd.read_excel(file_path) if df.empty: QMessageBox.critical(self, "错误", "Excel 文件为空") return # 替换所有 NaN、inf、-inf 为 None df.replace([np.nan, np.inf, -np.inf], None, inplace=True) # 构建插入语句 if not table_name.isidentifier(): raise ValueError("表名包含非法字符") columns = ', '.join(df.columns.tolist()) placeholders = ', '.join(['%s'] * len(df.columns)) insert_sql = f"INSERT INTO `{table_name}` ({columns}) VALUES ({placeholders})" # 转换为元组列表 data = [tuple(row) for _, row in df.iterrows()] # 批量插入 cursor.executemany(insert_sql, data) conn.commit() QMessageBox.information(self, "成功", f"{cursor.rowcount} 条记录已成功导入到表 '{table_name}'") except Exception as e: try: conn.rollback() except: pass QMessageBox.critical(self, "错误", f"导入失败: {str(e)}") # 启动应用 if __name__ == "__main__": app = QApplication(sys.argv) window = ExcelImporter() window.show() sys.exit(app.exec_())
最新发布
07-27
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值