使用python中的openpyxl打开C_Geely_Lotus DMS 20230606表格中的Release Matrix-Lambda表格,判断第一列含有S6.4.1的内容在哪一行,用python实现
时间: 2024-03-21 08:37:48 浏览: 202
可以使用openpyxl库中的load_workbook函数打开Excel文件,然后使用worksheet对象中的iter_rows函数遍历每一行,判断第一列是否包含目标字符串,如果包含则输出对应的行数。
以下是实现的示例代码:
```python
from openpyxl import load_workbook
# 打开Excel文件
wb = load_workbook(filename='C_Geely_Lotus DMS 20230606.xlsx')
# 选择Release Matrix-Lambda表格
ws = wb['Release Matrix-Lambda']
# 遍历每一行
for row in ws.iter_rows(min_row=2):
# 判断第一列是否包含目标字符串
if 'S6.4.1' in row[0].value:
# 输出对应的行数
print(row[0].row)
```
注意,这里假设目标字符串只出现在第一列,并且表格的标题行是第一行,因此使用了`iter_rows(min_row=2)`来遍历除标题行外的所有行。如果需要在多个表格中查找,可以在遍历之前先通过`wb.sheetnames`获取所有表格的名称,并使用`wb[sheetname]`来选择不同的表格。
相关问题
使用python中的openpyxl打开C_Geely_Lotus DMS 20230606表格中的Release Matrix-Lambda表格,遍历表格中的1527行到1527+23行,将第1527行中含有"DID"的列中每一行的内容填入到list1数组中,第1527行中含有"零件号"的列中每一行的内容填到list2数组中,用python实现
好的,可以使用openpyxl库来实现这个功能。以下是示例代码:
```python
import openpyxl
# 打开工作簿
workbook = openpyxl.load_workbook('C_Geely_Lotus DMS 20230606.xlsx')
worksheet = workbook['Release Matrix-Lambda']
# 遍历表格中的1527行到1527+23行
list1 = []
list2 = []
for row in range(1527, 1527+23):
# 遍历"DID"列
did_cell = worksheet.cell(row=row, column=6)
if "DID" in did_cell.value:
for col in range(7, 27):
cell = worksheet.cell(row=row, column=col)
list1.append(cell.value)
# 遍历"零件号"列
part_cell = worksheet.cell(row=row, column=3)
if "零件号" in part_cell.value:
for col in range(4, 7):
cell = worksheet.cell(row=row, column=col)
list2.append(cell.value)
# 打印结果
print(list1)
print(list2)
```
在这个示例代码中,我们首先打开了指定的工作簿,并定位到了要处理的工作表。然后我们遍历了指定的行范围,对于每一行,我们首先判断该行是否包含"DID"或"零件号",如果包含,则遍历该列中的单元格,并将单元格的值添加到对应的列表中。最后我们输出了两个列表的内容。
请注意,代码中的文件名和工作表名称需要根据实际情况进行修改。
使用python中的openpyxl打开C_Geely_Lotus DMS 软件发布计划V2 -20230606表格中的Release Matrix_Lambda表格,遍历第一列中含有S6.4.1那一行到后面的总共24行,读取列号是DID的每一行的内容,以及读取列号是零件号的每一行内容,将DID每一行的内容与零件号每一行的内容拼接起来组成字符串,将每一行拼接起来的字符串,用Python实现
好的,我明白你的问题了。以下是实现此功能的Python代码:
```python
import openpyxl
# 打开文件
workbook = openpyxl.load_workbook('C_Geely_Lotus DMS 软件发布计划V2 -20230606.xlsx')
# 选择表格
sheet = workbook['Release Matrix_Lambda']
# 遍历第一列含有S6.4.1那一行到后面的24行
for row in range(6, 30):
cell = sheet.cell(row=row, column=1)
if 'S6.4.1' in cell.value:
# 读取DID每一行的内容和零件号每一行的内容
did_cell = sheet.cell(row=row, column=4)
part_cell = sheet.cell(row=row, column=6)
# 拼接两个内容为一个字符串
result = '{}{}'.format(did_cell.value, part_cell.value)
# 输出拼接后的字符串
print(result)
```
这段代码首先打开了文件,然后选择了需要处理的表格。接着,它遍历了第一列中包含S6.4.1的行,并且读取了DID和零件号两列的内容。最后,它将DID和零件号拼接成一个字符串,并将结果输出到控制台上。你可以根据自己的需要对输出结果进行进一步处理。
阅读全文