Python 如何将带引号、逗号分隔的项目列表写入CSV文件,而不使用带引号列表中的最后一个逗号?
将包含逗号分隔值的嵌入引号列表的数据行写入CSV文件的优雅Python方式是什么 我需要在逗号分隔的列表周围加引号,这样Excel在使用Excel查看列表时不会将列表分成单独的列 我的函数如下所示:Python 如何将带引号、逗号分隔的项目列表写入CSV文件,而不使用带引号列表中的最后一个逗号?,python,Python,将包含逗号分隔值的嵌入引号列表的数据行写入CSV文件的优雅Python方式是什么 我需要在逗号分隔的列表周围加引号,这样Excel在使用Excel查看列表时不会将列表分成单独的列 我的函数如下所示: def write_customer_list(self): with open('reports/systems.csv', 'w') as f: f.write('Systems Report for week {}\n'.format(self.week))
def write_customer_list(self):
with open('reports/systems.csv', 'w') as f:
f.write('Systems Report for week {}\n'.format(self.week))
f.write('CustId,IP_AddrList,ModelNum\n') # Header for csv file
for cust_id, system in self.systems.items():
f.write('{}'.format(cust_id))
f.write(',\"') # open double quote string for list
for value in system['ip_addr_list']:
f.write('{},'.format(value))
f.write('\"') # close the quote
f.write(',{}\n'.format(system['model_num']))
123,"10.1.1.6,10.1.2.12,10.1.3.15,",NEX3601
124,"10.2.5.6,10.2.1.12,",NEX3604
输出如下所示:
def write_customer_list(self):
with open('reports/systems.csv', 'w') as f:
f.write('Systems Report for week {}\n'.format(self.week))
f.write('CustId,IP_AddrList,ModelNum\n') # Header for csv file
for cust_id, system in self.systems.items():
f.write('{}'.format(cust_id))
f.write(',\"') # open double quote string for list
for value in system['ip_addr_list']:
f.write('{},'.format(value))
f.write('\"') # close the quote
f.write(',{}\n'.format(system['model_num']))
123,"10.1.1.6,10.1.2.12,10.1.3.15,",NEX3601
124,"10.2.5.6,10.2.1.12,",NEX3604
如何删除ip列表中的尾随“,”?而不是
for value in system['ip_addr_list']:
f.write('{},'.format(value))
做
这将为您提供一个逗号分隔的列表,该列表末尾没有逗号。有关更多信息,请参阅函数的文档
您可能还想看看该模块。使用此模块时,您只需提供数据列表,它将为您设置所有格式。f.write'{}.formatcust\u id为什么不只是f.writecust\u id?CSV编写器需要一个列表或某种表示单行的iterable。不要使用格式,只需将列表传递给编写者即可。你应该使用CSV模块。这不是怎么写CSV的,伙计。我误读了,认为他们从一开始就在使用CSV模块,对不起。就我个人而言,我会翻转你的答案,从推荐开始。不用担心。我以为你看错了。是的,如果他已经在使用CSV模块,那么这将是一个糟糕的答案。我将把这个建议留到最后,因为当他已经编写好代码的时候,他需要重写所有东西来使用CSV模块,这并没有多大用处。尽管我知道CSV模块存在,但实际上我不会经常使用它,因为当我只编写一个快速的一次性脚本时,不必查看CSV模块的工作方式会更快。很抱歉,我这么晚才发表此评论,但是@Mr.Me,这非常有效!这么简单-哼-我怎么没想到呢!这就是堆栈溢出的好处所在!谢谢