python 切割长数据,分别存入以key命名的文件,
content = "很长的数据在文章末尾"
li = content.split('-')
import time
# enumerate() 会调用 id和值 1代表id从几开始
for idx, item in enumerate(li, 1):
if item.strip().startswith('symbol'): # 判断以symbol开头
file_name = item.split('=')[1].split(';')[0]
file_name = str(idx) + '_' + file_name
else:
file_name = time.strftime('%TF_%H_%M_%S') # 没有symbol 的数据,用日期名命名
file_name = str(idx) + '_' + file_name
for k_v in item.split(';'):
new_line = k_v.replace('=', ':')
#打开文件, $1文件路径 $2 a追加 w覆盖写 $3 字符编码
#此方法不用手动关闭文件,用后会自动关闭
with open('./output/'+file_name, 'a', encoding='utf-8') as f:
f.write(new_line + '\n')
content = “symbol=BCHBTC;baseCoin=BCH;quoteCoin=BTC;baseAccountNormal=201104;baseAccountLock=202104;quoteAccountNormal=201101;quoteAccountLock=202101;sysUid=1;sysBaseAccount=101015;sysQuoteAccount=101016;feeCoin=YLB;useFeeCoin=false;feeAccountNormal=201109;sysFeeAccount=101025;useFeeByAward=false;feeAccountAward=206109-symbol=QTUMUSDT;baseCoin=QTUM;quoteCoin=USDT;baseAccountNormal=201143;baseAccountLock=202143;quoteAccountNormal=201106;quoteAccountLock=202106;sysUid=1;sysBaseAccount=101360;sysQuoteAccount=101361;feeCoin=YLB;useFeeCoin=false;feeAccountNormal=201109;sysFeeAccount=101362;useFeeByAward=false;feeAccountAward=206109-symbol=BCHUSDT;baseCoin=BCH;quoteCoin=USDT;baseAccountNormal=201104;baseAccountLock=202104;quoteAccountNormal=201106;quoteAccountLock=202106;sysUid=1;sysBaseAccount=101015;sysQuoteAccount=101016;feeCoin=YLB;useFeeCoin=false;feeAccountNormal=201109;sysFeeAccount=101025;useFeeByAward=false;feeAccountAward=206109-symbol=BOTBTC;baseCoin=BOT;quoteCoin=BTC;baseAccountNormal=201145;baseAccountLock=202145;quoteAccountNormal=201101;quoteAccountLock=202101;sysUid=1;sysBaseAccount=101121;sysQuoteAccount=101122;feeCoin=YLB;useFeeCoin=false;feeAccountNormal=201109;sysFeeAccount=101123;useFeeByAward=false;feeAccountAward=206109-symbol=ETHBTC;baseCoin=ETH;quoteCoin=BTC;baseAccountNormal=201102;baseAccountLock=202102;quoteAccountNormal=201101;quoteAccountLock=202101;sysUid=1;sysBaseAccount=101011;sysQuoteAccount=101012;feeCoin=YLB;useFeeCoin=false;feeAccountNormal=201109;sysFeeAccount=101023;useFeeByAward=false;feeAccountAward=206109”