【发布时间】:2021-07-14 07:50:39
【问题描述】:
我有一个 Excel 文件,可以将十六进制值转换为二进制,将二进制转换为十进制和字符串:
使用 Python 我可以使用以下代码将十六进制复制到二进制:
# reverse hex value
my_hexdata = "4FA73E84FA4B6C4A"
scale = 16 # equal to hexadecimal
bin(int(my_hexdata, scale))[2:].zfill(len(my_hexdata)*4)
## Result == 0100111110100111001111101000010011111010010010110110110001001010
excel的第3列将二进制转换为十进制并转换为文本。我正在尝试在 Python 中执行此操作。我想将此公式复制到 Python 中,但我无法做到:
=CONCATENATE(CHAR(IF((BIN2DEC((MID(B2,58,7))))>32,
(BIN2DEC((MID(B2,58,7)))),32)),CHAR(IF((BIN2DEC((MID(B2,51,7))))>32,
(BIN2DEC((MID(B2,51,7)))),32)),CHAR(IF((BIN2DEC((MID(B2,44,7))))>32,
(BIN2DEC((MID(B2,44,7)))),32)),CHAR(IF((BIN2DEC((MID(B2,37,7))))>32,
(BIN2DEC((MID(B2,37,7)))),32)),CHAR(IF((BIN2DEC((MID(B2,30,7))))>32,
(BIN2DEC((MID(B2,30,7)))),32)),CHAR(IF((BIN2DEC((MID(B2,23,7))))>32,
(BIN2DEC((MID(B2,23,7)))),32)),CHAR(IF((BIN2DEC((MID(B2,16,7))))>32,
(BIN2DEC((MID(B2,16,7)))),32)),CHAR(IF((BIN2DEC((MID(B2,9,7))))>32,
(BIN2DEC((MID(B2,9,7)))),32)),CHAR(IF((BIN2DEC((MID(B2,2,7))))>32,
(BIN2DEC((MID(B2,2,7)))),32)))
我需要的结果是这些输入十六进制值对及其输出文本。
A426BC8C48E25A45 JD-FLPKRT
A426B48F41251BE4 JD-BOBTXN
6D66BC8C48E25A45 VM-FLPKRT
6D66BC64389D0603 VM-640600
6D66B6A0D0E0B8E4 VM-SPACEN
【问题讨论】:
-
如何使用铅笔和纸将二进制值转换为十进制?在 python 中复制该过程。
-
@SolarMike 我已经使用 Python 完成了,我只是想在 Python 中复制该公式。就是这样
标签: python-3.x excel pandas excel-formula