数据库:获取[]之间的字段名字并加,(python)

1.复制数据库表的ddl信息,得到如下

CREATE TABLE [dbo].[AAAAA] (
  [ID] uniqueidentifier  NOT NULL,
  [ChannelCode] nvarchar(50) COLLATE Chinese_PRC_CI_AS  NULL,
  [ChannelName] nvarchar(200) COLLATE Chinese_PRC_CI_AS  NULL,

.....
  CONSTRAINT [AAAAA] PRIMARY KEY CLUSTERED ([ID])

WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON)  
ON [PRIMARY]
)  
ON [PRIMARY]
GO

ALTER TABLE [dbo].[AAAA] SET (LOCK_ESCALATION = TABLE)

2.打开pychram,编写代码如下

import re

# 定义一个包含方括号的字符串
text = '''[ChannelCode] nvarchar(50) COLLATE Chinese_PRC_CI_AS  NULL,
  [ChannelName] nvarchar(200) COLLATE Chinese_PRC_CI_AS  NULL,
  [Country] nvarchar(100) COLLATE Chinese_PRC_CI_AS  NULL,
  [SalesMonth] nvarchar(7) COLLATE Chinese_PRC_CI_AS  NULL,
  [quantity] decimal(19,2)  NULL,
  [SumRQty] decimal(19,2)  NULL,
  [product_sales] decimal(19,5)  NULL,
  [product_sales_tax] decimal(19,5)  NULL,
  [shipping_credits] decimal(19,5)  NULL,
  [shipping_credits_tax] decimal(19,5)  NULL,
  [gift_wrap_credits] decimal(19,5)  NULL,
  [giftwrap_credits_tax] decimal(19,5)  NULL,
  [Regulatory_Fee] decimal(19,5)  NULL,
  [Tax_On_Regulatory_Fee] decimal(19,5)  NULL,
  [promotional_rebates] decimal(19,5)  NULL,
  [promotional_rebates_tax] decimal(19,5)  NULL,
  [marketplace_withheld_tax] decimal(19,5)  NULL,
  [selling_fees] decimal(19,5)  NULL,
  [fba_fees] decimal(19,5)  NULL,
  [other_transaction_fees] decimal(19,5)  NULL,
  [other] decimal(19,5)  NULL,
  [total] decimal(19,5)  NULL,
  [RAmount] decimal(19,5)  NULL,
  [AdvAmount] decimal(19,5)  NULL,
  [FBAInventoryCompensationFBA] decimal(19,5)  NULL,
  [FBAStorageFee] decimal(19,5)  NULL,
  [ProAmount] decimal(19,5)  NULL,
  [Adjustment] decimal(19,5)  NULL,
  [InAmount] decimal(19,5)  NULL,
  [OwnerCode] nvarchar(30) COLLATE Chinese_PRC_CI_AS  NULL,
  [CreateCode] nvarchar(30) COLLATE Chinese_PRC_CI_AS  NULL,
  [CreateDate] datetime  NULL,
  [ModifyCode] nvarchar(30) COLLATE Chinese_PRC_CI_AS  NULL,
  [ModifyDate] datetime  NULL,
  [otherAmount] decimal(19,5)  NULL,
  [ROrderAmount] decimal(19,5)  NULL,
  [RefundDiff_A] decimal(19,5)  NULL,
  [RefundDiff_B] decimal(19,5)  NULL,
  [RefundDiff_C] decimal(19,5)  NULL,"'''


# 使用正则表达式提取方括号中的内容
results = re.findall(r'\[(.*?)\]', text)
# print(results)

'''
# 第一种写法
results2=[res+','  for res in results]
results2[-1]=results[-1]
'''

# 推导式写法
result3=[value+',' if index < len(results)-1 else value for index,value in enumerate(results)]#enumerate变化为index和value形式+三元推导式
for i in result3:
    print(i)

运行结果如下:

直接复制到select  from AAA之间就可以了

  • 21
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值