如何从导出的python列表中删除逗号、引号和括号?

如何从导出的python列表中删除逗号、引号和括号?,python,python-3.x,export,Python,Python 3.x,Export,你们帮了我上一个新手问题的大忙,所以我想我应该再试试。现在,我的Python 3代码从CSV文件中获取数据,将数据存储为列表,创建该数据的排列,然后以列格式将其导出回新的CSV文件。不幸的是,导出列表的格式不是我所需要的最佳格式。我的问题是:如何从python中导出的列表中删除逗号、括号和括号 现在的样子: (‘你好’、‘世界’、‘你好’) (‘你好’、‘世界’、‘是’) (‘你好’、‘你好’、‘世界’) 我希望它看起来怎么样: 你好,世界怎么了 你好,世界是什么 你好,你好,世界 这是我正在使

你们帮了我上一个新手问题的大忙,所以我想我应该再试试。现在,我的Python 3代码从CSV文件中获取数据,将数据存储为列表,创建该数据的排列,然后以列格式将其导出回新的CSV文件。不幸的是,导出列表的格式不是我所需要的最佳格式。我的问题是:如何从python中导出的列表中删除逗号、括号和括号

现在的样子:

(‘你好’、‘世界’、‘你好’)

(‘你好’、‘世界’、‘是’)

(‘你好’、‘你好’、‘世界’)

我希望它看起来怎么样:

你好,世界怎么了

你好,世界是什么

你好,你好,世界

这是我正在使用的代码,有人有什么建议吗?我正在努力学习,因此任何额外的见解都将不胜感激

import csv
import itertools
with open('/users/Desktop/pythondata.csv', 'r') as f:
   reader = csv.reader(f)
   J = []
   for row in reader:
      J.extend(row)
C = list(itertools.permutations(J, 3))
with open('THISISATEST.csv','w')as f:
   writer=csv.writer(f,lineterminator='\n')
   for val in C:
       writer.writerow([val])`

请原谅,如果格式不正确,我是董事会新成员

我不知道您是否了解正则表达式,但使用python的“”模块应该可以满足您的需要:

    import re
    strs = "('Hello', 'World', 'How')"

    #creates list of strings that match the regular expression
    words = re.findall(r"\'([A-Za-z]+)\'", strs)

    #joins all of the elements of the word array into a string separated by a space
    outputString = " ".join(words)

    #output is "Hello World How"
    print outputString
你的问题: 我建议您只使用
join
方法来获取所需的单个字符串。你可以试试:

with open('test.csv', 'w') as a_file:
    for result in C:
        result = ' '.join(result)
        a_file.write(result + '\n')
基本上,在字符串
'
(单个空格)上调用的
join
方法将获取其参数中的每个项(排列的单个结果),并将它们添加到单个字符串中,由第一个字符串(单个空格)分隔。给出了一个简单的示例

调用
join
方法时使用语法
'[separator]'.join([list of items to join])
,因此,如果您只想将所有内容合并成一个没有空格的字符串,可以在空字符串上调用它:
'.join([my list])


由于不需要逗号分隔文件(CSV),只需使用
a_file.write
方法即可简化操作,如图所示。如果在此代码中使用CSV编写器,则每个字母之间都会有逗号。

因为有元组,所以有一种更简单的方法。导出以空格分隔的文件不需要
csv

import csv
import itertools
with open('pythondata.csv', 'r') as f:
    reader = csv.reader(f)
    J = []
    for row in reader:
        J.extend(row)
C = itertools.permutations(J, 3)
with open('THISISATEST.txt','w') as f:
    f.write('\n'.join(' '.join(y for y in x) for x in C))

如果有人仍在像我尝试这个(Python3.x)时那样搜索它的话。 我的目标是在单独的行中列出9位数字的所有可能排列

string=''。join(str(char)表示行中的char)
是获胜者

import sys, itertools

f = open('path to file', 'w') #I was using a .txt file

permutations = (list(itertools.permutations([1,2,3,4,5,6,7,8,9], 9)))

for line in permutations:
    string = ''.join(str(char) for char in line)
    f.write(string + '\n')            

f.close()

嗨,谢谢你的评论。我按照您的建议替换了这两段代码,但收到了以下错误(有什么想法吗?):第11行,结果=“”。join(result)TypeError:sequence item 0:expected str instance,list found您知道您使用的Python版本吗?这对我来说似乎很好,但您可以尝试
“”。加入(结果中的项目对项目)
。你也可以试着忽略我答案的第二部分,告诉我这是否有效。此外,还提出了一个很好的观点,即您可以使用open(…)部分将
f.writeline('\n'.join(''.join(结果中的项对项)用于结果C)
放在
的内部,并省略所有其他内容。我使用的是最新版本的Python(3)--我的错误我意识到我应该先加上这个。我原来的问题已经更新了!你是否尝试过在我的答案中做第一次更改而不是第二次?如果你仍然有问题,你能发布一个输入数据文件的简短示例,以便我可以使用相同结构的数据对其进行测试吗?不幸的是,我我只是回答的第一部分以及其他部分,但我仍然得到这个错误:结果中的=“”。join(结果中的项对应项)TypeError:sequence item 0:expected str instance,list found。我的输入数据文件实际上只是一个测试:它是一个csv文件,在该文件的a列中有五个字(每个单元格中一个字)继续。您好,谢谢您的回复。我也尝试了您的代码,但收到了以下错误:第9行,在f.write('\n.join(''.join(y代表x)代表x代表C))类型错误:序列项0:预期的str实例,list found我正在使用最新版本的Python(3)--我的错误我意识到我应该先加上这个。我原来的问题已经更新了!