【发布时间】:2020-06-23 19:59:27
【问题描述】:
我的 xlsx 文件中有 2 张工作表。该文件存储在本地。当我打印行和列时,我得到了输出。我想要的是,如果“患者信息”表的第一列(患者 ID)中的任何值与“记录”表的第一列(p id)中的任何值匹配,那么我想从“记录”表中附加该单元格值到列表 c 并打印所有匹配值列表。但是当我运行我的代码时,不会生成任何输出,甚至在运行时也没有显示错误或警告。请找到附加的数据集。patients dataset
import openpyxl
import pandas as pd
filename="week_05_homework_XLSX_openpyxl.xlsx"
wb= openpyxl.load_workbook(filename)
sheet1=wb['patient info']
sheet2=wb['records']
df1= pd.DataFrame(sheet1.values)
df2= pd.DataFrame(sheet2.values)
p=len(df1.index)
q=len(df2.index)
c =[]
for i in range(2,p):
for j in range(2,q):
if df1.iloc[i,1]==df2.iloc[j,1]:
c.append((df2.iloc[j,1]))
print(c)
【问题讨论】:
-
您好。从您的代码中,您不需要 openpyxl,您可以直接通过 pandas 读取数据,然后比较相关列。请分享一些您的数据,有人可能会看一下。请不要照片,只有数据。看看这个以获得更多指导:stackoverflow.com/questions/20109391/…
-
你好 sammy,根据我们的任务,必须使用 openpyxl 来阅读 notebook。请找到共享的数据集。
标签: python-3.x pandas openpyxl