并行拆分和合并输出

问题描述 投票:0回答:1

55=22395|1007=BTCUSD|1008=3|55=22396|1007=BTCEUR|1008=2|55=22397|1007=ETHUSD|1008=3|55=22398|1007=ETHEUR|1008=3|55 =20009|1007=TELENET 集团|1008=2|55=20011|1007=Magnegas 公司|1008=2|55=20012|1007=CALUMET SPEC PRDCTS|1008=2|55=20013|1007=CBOE HLDG INC|1008 =2|55=20014|1007=艺电公司|1008=2|55=20015|1007=EXPRESS SCRIPTS公司|1008=2|55=20016|1007=高级汽车配件|1008=2|55=20017|1007 =中国基金公司|

我的请求响应出现在终端上,如下所示。

有一个模式 55=id | 1007=符号 示例:55=22395|1007=BTCUSD

我想导出此数据以便稍后以这种方式创建订单时使用它: 比特币美元 = 22395

有什么帮助吗?

python merge split output
1个回答
0
投票

可以使用正则表达式来解析字符串:

import re

s = """55=22395|1007=BTCUSD|1008=3|55=22396|1007=BTCEUR|1008=2|55=22397|1007=ETHUSD|1008=3|55=22398|1007=ETHEUR|1008=3|55=20009|1007=TELENET GROUP|1008=2|55=20011|1007=MAGNEGAS CORP|1008=2|55=20012|1007=CALUMET SPEC PRDCTS|1008=2|55=20013|1007=CBOE HLDG INC|1008=2|55=20014|1007=ELECTRONIC ARTS INC|1008=2|55=20015|1007=EXPRESS SCRIPTS INC|1008=2|55=20016|1007=ADVANCE AUTO PARTS|1008=2|55=20017|1007=CHINA FUND INC|"""

for amount, symbol in re.findall(r"\b55=(\d+)\|\d+=([^|]+)", s):
    print(f"{symbol:<30} {amount}")

打印:

BTCUSD                         22395
BTCEUR                         22396
ETHUSD                         22397
ETHEUR                         22398
TELENET GROUP                  20009
MAGNEGAS CORP                  20011
CALUMET SPEC PRDCTS            20012
CBOE HLDG INC                  20013
ELECTRONIC ARTS INC            20014
EXPRESS SCRIPTS INC            20015
ADVANCE AUTO PARTS             20016
CHINA FUND INC                 20017
© www.soinside.com 2019 - 2024. All rights reserved.