Skip to main content
 首页 » 编程设计

python之从 Python 中的分隔字符串创建双引号条目列表

2025年05月04日25fff_TT

我有一行类似的东西

日期 |v3| 0.00| 0.00| 0.00| 0| 0| 7324.00| 0.00| 12278 12276|1 月 29 日星期二 09:36:47

我想迭代这一行并形成类似这样的输出

[“日期”,“v3”,“0.00”,“0.00”,“0.00”,“0”,“0”,“7324.00”,“0.00”,“12278 12276”,“星期二” 1 月 29 日 09:36:47"]

这个我想用shell脚本来实现,我该如何实现呢?

请您参考如下方法:

第一个解决方案:请您尝试以下操作。

awk -v s1="\",\"" -v s2="\"" '{gsub(/\|/,s1);$0="[" s2 $0 s2 "]"} 1' Input_file 

输出如下。

["date ","v3"," 0.00"," 0.00"," 0.00"," 0"," 0"," 7324.00"," 0.00"," 12278 12276","Tue Jan 29 09:36:47"] 

第二个解决方案: 或者要处理不均匀的空间,请尝试以下操作。

awk -v s1="\",\"" -v s2="\"" -v s3="\" ,\"" '{gsub(/ \||\| /,s3);gsub(/\|/,s1);$0="[" s2 $0 s2 "]"} 1' Input_file 

或(上述的非单行形式):

awk -v s1="\",\"" -v s2="\"" -v s3="\" ,\"" ' 
{ 
  gsub(/ \||\| /,s3) 
  gsub(/\|/,s1) 
  $0="[" s2 $0 s2 "]" 
} 
1 
'  Input_file 

输出如下。

["date" ,"v3" ,"0.00" ,"0.00" ,"0.00" ,"0" ,"0" ,"7324.00" ,"0.00" ,"12278 12276","Tue Jan 29 09:36:47"]