Python 如何从字符串中删除括号
以下代码生成了我要删除的字符串:Python 如何从字符串中删除括号,python,Python,以下代码生成了我要删除的字符串: with open('company_inf1.csv', 'rb') as inf : reader = csv.reader(inf, delimiter=',') reader.next() #skip header for i,row in enumerate(reader): name, date, indus, nike1, nike2, nike3, paid, abbr = row t =
with open('company_inf1.csv', 'rb') as inf :
reader = csv.reader(inf, delimiter=',')
reader.next() #skip header
for i,row in enumerate(reader):
name, date, indus, nike1, nike2, nike3, paid, abbr = row
t = (map(str, (nike1, nike2, nike3)),) # map & merge the 3 cols together\
b = str(t) [1:-1]
c = b.replace('"', '\\"')
print( name, date, indus, b , paid, abbr)
我的输出是
('abc', '30-06-1987', 'Service', "['nike1', 'nike2', 'nike3 '],", '100',
'abs')
我还想删除双引号,以便输出变成:
<output missing from OP>
我已经尝试过使用
replace
和strip
命令,但它对我不起作用。我还想保存将b
的值打印到测试文件中的测试。我该怎么做呢?您不需要映射到字符串,因为它从文件中出来时已经是字符串了
您可以执行b=[nike1、nike2、nike3]
,或:
with open('company_inf1.csv', 'rb') as inf :
reader = csv.reader(inf, delimiter=',')
reader.next() #skip header
name, date, indus, nike1, nike2, nike3, paid, abbr = row
print(name, date, indus, [nike1, nike2, nike3], paid, abbr)
您可以尝试以下方法:
print (value[0] + value[1] + "(" + value[2] + ")")
要从简单的“字符串”中删除括号,可以使用:
import re
...
re.sub(r'[\(\)]', '', str(mystring))
但是,如果它是一个数组,则需要使用以下内容:
p = re.compile(r'[\(\)]')
list = [p.sub(' ', x).strip() for x in array]
我认为这个问题被否决的主要原因是因为标题没有反映最后的问题。标题问题仍然很好,一个新的答案可能更有用。