Ary*_*rya 4 python oracle list dataframe pandas
我有下面的代码来捕获来自两个不同表的数据,比较两个结果并获得输出。
EmplTbl = cur.execute("select A , B , C from EmployeeTable where EmplName in ('A','B')")
emp_entries = set(cur)
DeptTbl = cur.execute("select A , B , C from DeptTable")
dept_entries = set(cur)
print(emp_entries.difference(dept_entries))
Run Code Online (Sandbox Code Playgroud)
以下是我收到的输出
Output:
{(1, A, X),(2, B, Y),(3, B, Y)}
Run Code Online (Sandbox Code Playgroud)
当我尝试将其分配给数据框时,我得到了“'dict'对象没有属性'append'”,我如何使用列A,B,C或任何其他方式将“数据”上方的内容分配给适当的数据框。
预期产量:
A, B, C
1, A, X
2, B, Y
3, B, Y
Run Code Online (Sandbox Code Playgroud)
您可以将集合传递给DataFrame构造函数:
a = {(1, 'A', 'X'),(2, 'B', 'Y'),(3, 'B', 'Y')}
cols = ['A','B','C']
df = pd.DataFrame(a, columns=cols)
print (df)
A B C
0 2 B Y
1 1 A X
2 3 B Y
Run Code Online (Sandbox Code Playgroud)
如果需要按第一个值排序:
a = {(1, 'A', 'X'),(2, 'B', 'Y'),(3, 'B', 'Y')}
L = sorted(list(a), key=lambda tup: tup[0])
cols = ['A','B','C']
df = pd.DataFrame(L, columns=cols)
print (df)
A B C
0 1 A X
1 2 B Y
2 3 B Y
Run Code Online (Sandbox Code Playgroud)
如果要csv使用删除索引值:
df.to_csv(file, index=False)
Run Code Online (Sandbox Code Playgroud)