将Excel中 A列数据 例如: “0x0000016A” B 列数据 例如 “01 04 50 30 00 00 FF 3C” 转换成 obj="6A010000000000000000000008010450300000FF3C000000"
时间: 2024-01-06 13:04:24 浏览: 84
可以使用Python的pandas和binascii库来实现。具体步骤如下:
1.读取Excel文件,将A列和B列数据分别存储到两个列表中。
```python
import pandas as pd
df = pd.read_excel('data.xlsx')
a_list = df['A'].tolist()
b_list = df['B'].tolist()
```
2.遍历两个列表,将A列数据转换成16进制格式,并将B列数据转换成16进制格式的bytes类型。
```python
import binascii
hex_a_list = [hex(int(a, 16))[2:].zfill(8) for a in a_list]
hex_b_list = []
for b in b_list:
hex_b = binascii.hexlify(bytes.fromhex(b)).decode('utf-8')
hex_b_list.append(hex_b)
```
3.将两个列表中的数据按照要求拼接成最终的字符串。
```python
obj_list = []
for i in range(len(hex_a_list)):
obj = hex_a_list[i] + '000000000000000000000008' + hex_b_list[i] + '000000'
obj_list.append(obj)
result = ''.join(obj_list)
```
完整代码如下:
```python
import pandas as pd
import binascii
df = pd.read_excel('data.xlsx')
a_list = df['A'].tolist()
b_list = df['B'].tolist()
hex_a_list = [hex(int(a, 16))[2:].zfill(8) for a in a_list]
hex_b_list = []
for b in b_list:
hex_b = binascii.hexlify(bytes.fromhex(b)).decode('utf-8')
hex_b_list.append(hex_b)
obj_list = []
for i in range(len(hex_a_list)):
obj = hex_a_list[i] + '000000000000000000000008' + hex_b_list[i] + '000000'
obj_list.append(obj)
result = ''.join(obj_list)
print(result)
```
注意:上述代码中的data.xlsx是包含A列和B列数据的Excel文件,需要根据实际情况进行更改。
阅读全文