如何根据列表中的项目从xlsx文件返回一行

时间:2019-10-15 08:54:49

标签: python excel pandas

我有一个短语列表,我想使用这些短语来检索xlsx文件中的特定行/单元格。列表值的拼写始终与数据库的English列完全相同。

Excel

我需要将每个句子-用不同的语言,放入它们自己的列表中,这些列表可以输出到另一个excel文件中,如下所示: Output

# importing openpyxl module
from openpyxl import load_workbook
import openpyxl
# Give the location of the file
path = "C:/Users/username/Desktop/ExcelTest.xlsx"

# To open the workbook
# workbook object is created
wb_obj = openpyxl.load_workbook(path)

# Get workbook active sheet object
# from the active attribute
sheet_obj = wb_obj.active
max_col = sheet_obj.max_column
m_row = sheet_obj.max_row
eng = []
fre = []
ger = []
spa = []
ita = []
list = ['Hello', 'I Love', 'Python']

for row in sheet_obj:
    for a in list:
        for cell in row:
                if cell.value == a:
                    #print('Row:', cell.row , 'Column:', cell.column, 'Value:', cell.value)
                    for i in range(1, 5):
                        cell_obj = sheet_obj.cell(row = cell.row, column = i)
                        print(cell_obj.value, end= ' ')
                        eng.append(cell_obj.value)
                break
print (eng)

现在我从代码中得到的结果在某种程度上是正确的-除了整个内容(来自不同语言的每个句子都放在一个列表中)

1 个答案:

答案 0 :(得分:0)

您可以为此使用pandas

import pandas as pd

path = "C:/Users/username/Desktop/ExcelTest.xlsx"
df = pd.read_excel(path)

languages = ['English', 'French', 'German', 'Spanish', 'Italian']
for language in languages:
    print(df[language].values)