Excel 中找出每列第一个和最后一个非空格对应的行--Excel难题#87

Excel表格的第2-6列有空格。

ABCDEF
1StartDateQID1QID2QID3QID4QID5
210/03/2024 10:561yes32
310/03/2024 03:102no423
409/03/2024 19:253yes22
509/03/2024 11:404no1yes
609/03/2024 03:555yes5no
708/03/2024 20:106
808/03/2024 12:257no
908/03/2024 04:408yes
1007/03/2024 20:559no
1107/03/2024 13:101nono
1207/03/2024 05:252nono
1306/03/2024 21:403nono
1406/03/2024 13:554no
1506/03/2024 06:105no3

要求从第2-6列的每列,找出第一个和最后一个非空格,把它们对应的第1列的格值用"to"拼起来。

HI
1QID106/03/2024 06:10 to 10/03/2024 10:56
2QID206/03/2024 06:10 to 10/03/2024 10:56
3QID309/03/2024 03:55 to 10/03/2024 10:56
4QID406/03/2024 06:10 to 07/03/2024 13:10
5QID509/03/2024 03:55 to 10/03/2024 10:56

使用 SPL XLL

=spl("=d=E@2p(?),d.to(2,).(d(1)(~.pselect@z(~)) /""to""/ d(1)(~.pselect(~)))",A2:F15)

Picture1png

函数 E@2p 对二维序列进行转置。pselect 找到符合条件的第 1 个成员的位置,@z 表示从后往前找。to(2,) 取第 2 至最后一个成员,(1) 第 1 个成员。

点击免费下载试用

  • 5
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 可以使用Python的pandas库来读取Excel文件,并使用apply函数遍历每一,提取关键词并写入最后一列。具体代码如下: ```python import pandas as pd # 读取Excel文件 df = pd.read_excel('your_excel_file.xlsx') # 定义提取关键词的函数 def extract_keywords(row): # 假设关键词在第1列到第5列 keywords = [] for i in range(1, 6): keyword = str(row[i]).strip() # 去除空格 if keyword: keywords.append(keyword) return ','.join(keywords) # 应用函数并写入最后一列 df['关键词'] = df.apply(extract_keywords, axis=1) # 保存Excel文件 df.to_excel('your_output_file.xlsx', index=False) ``` 注意:需要将代码的`your_excel_file.xlsx`替换为你的Excel文件名,将`your_output_file.xlsx`替换为你的输出文件名。 ### 回答2: 要使用Python提取Excel的多个关键词并将其写入到最后一列,你可以使用openpyxl库来操作Excel文件。首先,你需要安装openpyxl库,使用以下命令进安装: ``` pip install openpyxl ``` 接下来,你可以使用以下代码实现这个功能: ```python import openpyxl # 打开Excel文件 workbook = openpyxl.load_workbook('your_file.xlsx') # 选择工作表 sheet = workbook.active # 遍历每一数据 for row in sheet.iter_rows(min_row=2, values_only=True): # 从第二开始遍历,跳过标题 keywords = [] # 存储关键词的列表 # 提取关键词,假设关键词在前三列 for i in range(3): if row[i]: keywords.append(row[i]) # 将关键词写入到最后一列 row[-1] = ', '.join(keywords) # 保存修改后的Excel文件 workbook.save('your_file_modified.xlsx') ``` 在这段代码,我们首先使用`load_workbook`函数打开Excel文件,然后选择想要操作的工作表。使用`iter_rows`方法遍历每一数据,`values_only=True`参数表示返回每个单元格的值而不是单元格对象。接下来,在每一提取关键词,假设关键词在前三列,存储到一个列表。然后,使用`join`函数将关键词列表的关键词拼接成一个字符串,并将其写入到最后一列。最后,使用`save`方法保存修改后的Excel文件。注意,你需要将代码的文件名`your_file.xlsx`替换为你实际使用的Excel文件名。 ### 回答3: 在Python提取Excel的多个关键词并将其写入最后一列,可以使用openpyxl库来实现。下面是一个简单的实现示例: ``` import openpyxl # 打开Excel文件 wb = openpyxl.load_workbook('input.xlsx') ws = wb.active # 遍历每一 for row in ws.iter_rows(min_row=2, values_only=True): # 从第二开始遍历,values_only参数用于获取单元格的值而公式 keywords = [] for cell_value in row[:-1]: # 遍历每一列(除了最后一列) # 处理每个单元格的值,提取关键词并加入到关键词列表 # 这里可以根据具体的需求使用字符串处理、正则表达式等方法提取关键词 # 这里仅作示例,提取包含大写字母的单词作为关键词 for word in cell_value.split(): if word.isupper(): keywords.append(word) # 将关键词写入最后一列 keywords_str = ' '.join(keywords) # 将关键词列表拼接为以空格分隔的字符串 ws.cell(row=row[0].row, column=ws.max_column, value=keywords_str) # 保存并关闭Excel文件 wb.save('output.xlsx') wb.close() ``` 上述代码,我们首先使用openpyxl库打开Excel文件,并获取活动工作表。然后,我们使用`iter_rows`函数遍历每一,其`min_row=2`表示从第二开始遍历,`values_only=True`表示获取单元格的值而不是公式。对于每一,我们将遍历除了最后一列之外的每一列的值,并做相应的处理来提取关键词,这里仅作为示例提取包含大写字母的单词作为关键词。最后,我们将提取到的关键词拼接为以空格分隔的字符串,并将其写入最后一列。最后,保存并关闭Excel文件。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值