英文:
Writing non-bracketed list items to CSV cell
问题
所以我有3个列表,所有3个列表都包含相同数量的项:
list1 = [1, 2, 3]
list2 = ['a', 'b', 'c']
list3 = [['list_value'], 'string_value', ['another_list_value', 'yet_another_list_value']]
然而,对于list3,我想将字符串值写入CSV单元格,而不是列表。例如:
这样:another_list_value, yet_another_list_value
而不是:['another_list_value', 'yet_another_list_value']
如何最好地做到这一点?我猜想需要使用循环和isinstance检查?
英文:
So I have 3 lists and all 3 contain the same amount of items:
list1 = [1, 2, 3]
list2 = ['a', 'b', 'c']
list3 = [['list_value'], 'string_value', ['another_list_value', 'yet_another_list_value']]
However for list3, I want to write the string value and not the list to the CSV cell. For example:
This: another_list_value, yet_another_list_value
Instead of: ['another_list_value', 'yet_another_list_value']
What's the best way to do that? I'm guessing a loop and an isinstance check?
答案1
得分: 1
使用join()
方法创建逗号分隔的字符串。
csvfile.writerow(i.join(', ') if isinstance(i, list) else i for i in list3)
英文:
Use join()
to create a comma-delimited string.
csvfile.writerow(i.join(', ') if isinstance(i, list) else i for i in list3)
通过集体智慧和协作来改善编程学习和解决问题的方式。致力于成为全球开发者共同参与的知识库,让每个人都能够通过互相帮助和分享经验来进步。
评论