Python 如何去掉数组中的内置引号并保存到文件中

Python 如何去掉数组中的内置引号并保存到文件中,python,file,Python,File,我有这样一个二维数组: [["x","0xacc2d9"], ["y","0x56ae57"]] 我想保存这个数组,使它保持二维数组。 第一项有报价,第二项没有报价 因此,保存在文件中的结果应为: [["x",0xacc2d9], ["y",0x56ae57]] 我尝试了各种方法,但由于报价不是额外的,而且是构建的,我无法删除它。 我试过了 lst. replace(""",") 还有,这个: filename= 'test.txt' with open(filename,

我有这样一个二维数组:

  [["x","0xacc2d9"],
  ["y","0x56ae57"]]
我想保存这个数组,使它保持二维数组。 第一项有报价,第二项没有报价

因此,保存在文件中的结果应为:

 [["x",0xacc2d9],
  ["y",0x56ae57]]
我尝试了各种方法,但由于报价不是额外的,而且是构建的,我无法删除它。 我试过了

lst. replace(""",")
还有,这个:

filename= 'test.txt'
 with open(filename, 'w') as f:
    writer = csv.writer(f, delimiter=',')
    writer.writerows(lst)
但是它删除了[]、“”,我不想删除它们

谢谢你的帮助

Edit2 出于某种原因,我需要我的输出具有双引号而不是单引号,因此输出必须是:哪个x具有双引号

   [["x",0xacc2d9],
      ["y",0x56ae57]]

虽然不完美,但它给了你一些可以玩的东西:

In [883]: lst =  [["x","0xacc2d9"], 
     ...:   ["y","0x56ae57"]]  
In [885]: with open('test.txt','w') as f: 
     ...:     f.write('[') 
     ...:     for row in lst: 
     ...:         f.write('[%r, %s]\n'%tuple(row)) 
     ...:     f.write(']\n') 
     ...:                                                                       
In [886]: cat test.txt                                                          
[['x', 0xacc2d9]
['y', 0x56ae57]
]
您打算如何使用此文件

为了更干净地处理外支架(和报价更换):


您没有输出CSV数据;不要使用
csv.writer
@chepner感谢您的回答。但我已经尝试了各种方法,但我无法得到我想要的输出。你能告诉我你的想法吗?我如何解决它?非常感谢@hpaulj。对不起,不清楚,出于某种原因,我只想在结果中引用双引号。所以x将是“x”而不是“x”,你能告诉我你是否有任何想法来修复它吗?它是为了在另一个领域的特定用途,这就是为什么我必须准备正确的格式。你知道我们如何才能得到第一个项目的双报价吗?我添加了一个替代报价替换。也可以通过
%
.format
格式化机制控制引号的选择。我们得到处找。Python交替使用这两个版本。非常感谢。我确实使用了“替换”来替换“to”,但它不起作用!!。再次非常感谢。你帮了我很多忙:)
In [887]: astr = '\n'.join(['[%r, %s]'%tuple(row) for row in lst])              
In [888]: astr                                                                  
Out[888]: "['x', 0xacc2d9]\n['y', 0x56ae57]"
In [895]: astr = astr.replace("'",'"')                                          
In [896]: astr                                                                  
Out[896]: '["x", 0xacc2d9]\n["y", 0x56ae57]'
In [897]: with open('test.txt','w') as f: 
     ...:     print('[%s]'%astr, file=f) 
     ...:                                                                       
In [898]: cat test.txt                                                          
[["x", 0xacc2d9]
["y", 0x56ae57]]