如何将Python中的列表列表最好地转换为(例如)逗号分隔的值、换行分隔的行、字符串?理想情况下,我可以这样做:
>import csv
>matrix = [["Frodo","Baggins","Hole-in-the-Ground, Shire"],["Sauron", "I forget", "Mordor"]]
> csv_string = csv.generate_string(matrix)
>print(csv_string)
Frodo,Baggins,"Hole-in-the-Ground, Shire"
Sauron,I forget,Mordor
我知道Python有一个csv module,正如在类似this的SO问题中看到的,但是它的所有函数似乎都是在一个File对象上操作的。这些列表太小了,使用一个文件是多余的。在
我熟悉join函数,并且有很多这样的答案about it。但它不处理包含逗号的值,也不处理多行,除非我在另一个join
中嵌套一个join
。在
链接到的question中的方法作为
join
的引用,以及嵌套的join
s(这有什么问题?)只要您可以将列表中包含的所有对象转换为字符串,就可以工作:输出:
^{pr2}$编辑:
如果对象的字符串表示形式可能包含逗号,则可以通过以下几项操作来实现恢复原始列表列表的输出:
io.StringIO
和{为了实现第一个目标,你可以
第二次
将csv模块与
StringIO
合并:相关问题 更多 >
编程相关推荐