与列的 headers 进行比较并检索其在 python 中的数据
compare with headers of column and retrieve with its data in python
我想做的是拿一个 excel 文件并提取带有类别的列。我做的是这个
我从 excel 中提取数据列表作为 list1,仅提取 headers 作为 header,我采用一个基本列表并与 header 相交。结果我得到一个类别列表
list1 就像:
[{'Title': 'Asam', 'Description': 'all about', 'Latitude': 47545.0, 'Longitude': 65564.0}]
a header 就像:
['Title', 'Description', 'Latitude', 'Longitude']
基本列表如下:
{'Title','Description'}
我希望输出如下:
[{'Title': 'Asam', 'Description': 'all about'}]
我得到的输出是这样的:
['Title', 'Description']
所以,我尝试了这个:
def main():
sheet = open_workbook(filename)
sheet_names = sheet.sheet_names()
for s in sheet_names:
xl_sheet = None
xl_sheet = sheet.sheet_by_name(s)
header = [xl_sheet.cell(0, col_index).value for col_index in range(xl_sheet.ncols)]
print(header)
list_1 = []
for row_index in range(1, xl_sheet.nrows):
d = {header[col_index]: xl_sheet.cell(row_index, col_index).value
for col_index in range(xl_sheet.ncols)}
list_1.append(d)
print(list_1)
basic = {'Title','Description', 'Location', 'Info'}
lst3 = [value for value in header if value in basic]
print(lst3)
您应该像这样创建 list_3:
idx = 0
list_3 = [{value: list_1[idx][value] for value in header if value in basic}]
我想做的是拿一个 excel 文件并提取带有类别的列。我做的是这个 我从 excel 中提取数据列表作为 list1,仅提取 headers 作为 header,我采用一个基本列表并与 header 相交。结果我得到一个类别列表
list1 就像:
[{'Title': 'Asam', 'Description': 'all about', 'Latitude': 47545.0, 'Longitude': 65564.0}]
a header 就像:
['Title', 'Description', 'Latitude', 'Longitude']
基本列表如下:
{'Title','Description'}
我希望输出如下:
[{'Title': 'Asam', 'Description': 'all about'}]
我得到的输出是这样的:
['Title', 'Description']
所以,我尝试了这个:
def main():
sheet = open_workbook(filename)
sheet_names = sheet.sheet_names()
for s in sheet_names:
xl_sheet = None
xl_sheet = sheet.sheet_by_name(s)
header = [xl_sheet.cell(0, col_index).value for col_index in range(xl_sheet.ncols)]
print(header)
list_1 = []
for row_index in range(1, xl_sheet.nrows):
d = {header[col_index]: xl_sheet.cell(row_index, col_index).value
for col_index in range(xl_sheet.ncols)}
list_1.append(d)
print(list_1)
basic = {'Title','Description', 'Location', 'Info'}
lst3 = [value for value in header if value in basic]
print(lst3)
您应该像这样创建 list_3:
idx = 0
list_3 = [{value: list_1[idx][value] for value in header if value in basic}]