这是我的csv文件,现在想通过pandas 把 deviceID 一致的capability找出来,比如 最后一列,device ID 是R-1, 怎么把对应的capability找出来,并存放成字典及CSV
Capability name Type SimpleSkillID Device DeviceID
Moving Moving 1 KUKA KR 270 R2700 ultra R - 1
Moving Moving 2 KUKA KR 270 R2900 K ultra R - 2
Moving Moving 3 ABB IRB 6700-150/3.20 R - 3
Moving Moving 4 ABB IRB 6700-150/3.20 LeanID R - 4
Moving Moving 5 ABB IRB 6700-155/2.85 R - 5
Moving Moving 6 Fanuc M-800iA/60 R - 6
Moving Moving 7 Fanuc M-900iA/350 R - 7
Moving Moving 8 Fanuc M-900iB/280 R - 8
Moving Moving 9 Fanuc M-900iB/360 R - 9
Moving Moving 10 Fanuc M-900iB/400L R - 10
Moving Moving 11 Fanuc M-900iB/700 R - 11
Moving Moving 12 Fanuc M-2000iA/900L R - 12
Moving Moving 13 Fanuc M-2000iA/1700L R - 13
Moving Moving 14 Fanuc M-2000iC/210R R - 14
ForceApplying ForceApplying 15 KUKA KR 270 R2700 ultra R - 1
ForceApplying ForceApplying 16 KUKA KR 270 R2900 K ultra R - 2
ForceApplying ForceApplying 17 ABB IRB 6700-150/3.20 R - 3
ForceApplying ForceApplying 18 ABB IRB 6700-150/3.20 LeanID R - 4
ForceApplying ForceApplying 19 ABB IRB 6700-155/2.85 R - 5
ForceApplying ForceApplying 20 Fanuc M-800iA/60 R - 6
ForceApplying ForceApplying 21 Fanuc M-900iA/350 R - 7
ForceApplying ForceApplying 22 Fanuc M-900iB/280 R - 8
ForceApplying ForceApplying 23 Fanuc M-900iB/360 R - 9
ForceApplying ForceApplying 24 Fanuc M-900iB/400L R - 10
ForceApplying ForceApplying 25 Fanuc M-900iB/700 R - 11
ForceApplying ForceApplying 26 Fanuc M-2000iA/900L R - 12
ForceApplying ForceApplying 27 Fanuc M-2000iA/1700L R - 13
ForceApplying ForceApplying 28 Fanuc M-2000iC/210R R - 14
FingerGrasping FingerGrasping 29 FingerGripper E - 1
DrillBitFunction DrillBitFunction 30 Drilling endeffector E - 2
PressToolFunction PressToolFunction 31 PressToolFunction E - 3
ScrewingHeadFunction ScrewingHeadFunction 32 Screwing Endeffector E - 4
Fixturing Fixturing 33 Milling Endeffector E - 5
FingerGrasping FingerGrasping 34 FingerGripper E - 6
DrillBitFunction DrillBitFunction 35 Drilling endeffector E - 7
PressToolFunction PressToolFunction 36 PressToolFunction E - 8
ScrewingHeadFunction ScrewingHeadFunction 37 Screwing Endeffector E - 9
Fixturing Fixturing 38 Milling Endeffector E - 10
FingerGrasping FingerGrasping 39 FingerGripper E - 11
DrillBitFunction DrillBitFunction 40 Drilling endeffector E - 12
PressToolFunction PressToolFunction 41 PressToolFunction E - 13
ScrewingHeadFunction ScrewingHeadFunction 42 Screwing Endeffector E - 14
Fixturing Fixturing 43 Milling Endeffector E - 15
Releasing Releasing 44 FingerGripper E - 1
Press Press 45 PressToolFunction E - 3
SpinningTool SpinningTool 46 Screwing Endeffector E - 4
MillingToolFunction MillingToolFunction 47 Milling Endeffector E - 5
Releasing Releasing 48 FingerGripper E - 6
Press Press 49 PressToolFunction E - 8
SpinningTool SpinningTool 50 Screwing Endeffector E - 9
MillingToolFunction MillingToolFunction 51 Milling Endeffector E - 10
Releasing Releasing 52 FingerGripper E - 11
Press Press 53 PressToolFunction E - 13
SpinningTool SpinningTool 54 Screwing Endeffector E - 14
MillingToolFunction MillingToolFunction 55 Milling Endeffector E - 15
Spinning Spinning 56 Milling Endeffector E - 5
Spinning Spinning 57 Milling Endeffector E - 10
Spinning Spinning 58 Milling Endeffector E - 15
Metrology Metrology 59 Leica AT901-MR M - 1
Metrology Metrology 60 Leica AT960-MR M -2
Metrology Metrology 61 T-Mac Inspect with/without touch trigger probe* M - 3
Metrology Metrology 62 T-Mac Frame M - 4
Metrology Metrology 63 T-Scan5 M - 5
Metrology Metrology 64 Reflectors M - 6
Metrology Metrology 65 T-Probe M - 7
Metrology Metrology 66 Nikon MV331 M - 8
Metrology Metrology 67 V-Stars Dual Camera system (model DynaMo 12) M - 9
Metrology Metrology 68 V-Stars probe M - 10
您好,我看到每个DevuceID值对应有多个Capablty,请问需要的字典格式是{'R-1':[Moving,ForceApplying]}这样的格式吗?(以列表来存储多个字典的值)
功能已实现,如有帮助还请采纳,如有需求或继续交流。
import pandas as pd
df = pd.read_csv('文件路径')
DeviceID = set(df['DeviceID'].values.tolist())
# 1.存放成字典
dict1 = {}
for i in DeviceID:
data = df.loc[df['DeviceID'] == i].Capability.values.tolist()
dict1[i] =data
print(dict1)
# 2.存放成csv
a = list(dict1.keys())
b = list(dict1.values())
dict2 = {'DeviceID': a,
'Capability': b}
df2 = pd.DataFrame(dict2)
df2.to_csv('DeviceID_Capability.csv')
import pandas as pd
path = input("请输入csv文件路径:")
df = pd.read_csv(path)
df = df[df["DeviceID"] == "R-1"]["Capability"]
dic = df.to_dict()
df.to_csv("1.csv", index=False)
def test():
# 读取csv
io = csv路径
originalData = pd.read_excel(io)
# 分组装载
originalData = originalData[['Capability', 'DeviceID']]
dict = {}
for key, item in originalData.groupby(['DeviceID']):
dict[key] = item['Capability'].tolist()
print("success")
随便用了几个数据测试,结果如下