为了账号安全,请及时绑定邮箱和手机立即绑定

如何匹配和替换 listA column1 值到 ListB column2

如何匹配和替换 listA column1 值到 ListB column2

莫回无 2022-06-22 17:34:11
我有 2 个列表(标题和数据值)。我想将我的数据值列 1 匹配并替换为头文件列 1 以获取与 dataValue 列 1 与标题值列 2 匹配的值头文件TotalLoad,M0001001HoisePosition,X011_0001TotalLoad1,X011_0004TotalLoad2,X030_0008HoisePosition2,X031_0002GearTemprature,X032_0003OilLevel,X033_0004OilTemprature,X034_0005数据价值M0001001,50X011_0001,100X011_0004,45X030_0008,35X030_0002,80X030_0003,100X030_0004,200X030_0005,60PythonHfile=open("header.csv",'r')DValuef=open("DataValue.csv",'r')hf=Hfile.readlines()dv=DValuef.readlines()Hfile.close()DValuef.close()dictA={}dictB={}value1=[]value2=[]for x in hf:    myList1=x.strip().split(',')    dictA={myList1[0]:myList1[1]}    value1.append(dictA)for y in dv:    myList2=y.strip().split(',')    dictB={'Vname':myList2[0],'V_Value':myList2[1]}    print(dictB)预期结果{'Vname': 'TotalLoad', 'V_Value': '50'}{'Vname': 'HoisePosition', 'V_Value': '100'}{'Vname': 'TotalLoad1', 'V_Value': '45'}{'Vname': 'TotalLoad2', 'V_Value': '35'}{'Vname': 'HoisePosition2', 'V_Value': '80'}{'Vname': 'GearTemprature', 'V_Value': '100'}{'Vname': 'OilLevel', 'V_Value': '200'}{'Vname': 'OilTemprature', 'V_Value': '60'}实际结果{'Vname': 'M0001001', 'V_Value': '50'}{'Vname': 'X011_0001', 'V_Value': '100'}{'Vname': 'X011_0004', 'V_Value': '45'}{'Vname': 'X030_0008', 'V_Value': '35'}{'Vname': 'X030_0002', 'V_Value': '80'}{'Vname': 'X030_0003', 'V_Value': '100'}{'Vname': 'X030_0004', 'V_Value': '200'}{'Vname': 'X030_0005', 'V_Value': '60'}
查看完整描述

3 回答

?
翻翻过去那场雪

TA贡献2065条经验 获得超14个赞

for x in hf:

    myList1=x.strip().split(',')

    dictA[myList1[1]] = myList1[0]


for y in dv:

    myList2=y.strip().split(',')

    dictB={'Vname':dictA[myList2[0]],'V_Value':myList2[1]}

    print(dictB)

这应该给你你需要的东西..但我不知道为什么你需要像这样安排数据


查看完整回答
反对 回复 2022-06-22
?
明月笑刀无情

TA贡献1828条经验 获得超4个赞

你可以像下面使用列表理解来做


header_file = '''TotalLoad,M0001001

HoisePosition,X011_0001

TotalLoad1,X011_0004

TotalLoad2,X030_0008

HoisePosition2,X031_0002

GearTemprature,X032_0003

OilLevel,X033_0004

OilTemprature,X034_0005'''


value_file = '''M0001001,50

X011_0001,100

X011_0004,45

X030_0008,35

X030_0002,80

X030_0003,100

X030_0004,200

X030_0005,60'''


hf = [line for line in header_file.split("\n")]

dv = [line for line in value_file.split("\n") ]


header_dict = {key: value for value, key in [line.split(",") for line in hf] }

value_dict = [{"Vname": header_dict.get(key), "V_value": value} for key, value in [line.split(",") for line in dv] ]


print(value_dict)


查看完整回答
反对 回复 2022-06-22
?
不负相思意

TA贡献1777条经验 获得超10个赞

for x in hf:

    myList1=x.strip().split(',')

    dictA[myList1[1]] = myList1[0]


for y in dv:

    myList2=y.strip().split(',')

    dictB[dictA[myList2[0]] : myList2[1]]

print(dictB)

这是更好的格式


查看完整回答
反对 回复 2022-06-22
  • 3 回答
  • 0 关注
  • 91 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信