Python格式化逗号分隔的文本字符串以保存为csv文件



我有来自的逗号分隔文本(字符串格式)作为API调用的输出,下面是一个小示例。

cs_file = 'Reviewer Name,Account Reviewer Name,Account Manager Namern"Last, First","Last, First","Last, First"'

新行显示为"\r\n"。我的想法是首先在此拆分文本,然后通过在"&";。但是,在"\r\n"处拆分不起作用,只获取一个列表。。。

cs_list = []

cs_list = cs_file.split(r'rn')

有什么更好的方法建议吗?目标是将此文本保存为csv。

目标是将此文本保存为csv

字符串已采用Excel CSV文件格式,包括在包含分隔符和换行符格式(\r\n)的字段周围正确引用。将字符串直接写入指定要写入的换行符的文件,无需翻译:

cs_file  = 'Reviewer Name,Account Reviewer Name,Account Manager Namern"Last, First","Last, First","Last, First"'
with open('output.csv','w',newline='') as f:
f.write(cs_file)

output.csv

Reviewer Name,Account Reviewer Name,Account Manager Name
"Last, First","Last, First","Last, First"

请注意,在这种情况下需要newline='',否则在Windows上写入文本会将n转换为rn,导致在写入rn时出现rrn,如果在Excel中打开CSV,则CSV将不正确显示。有关更多解释,请参阅此问题/答案。

您应该使用cs_list = cs_file.split('rn')

如果将cs_filecs_file = 'Reviewer Name,Account Reviewer Name,Account Manager Name\r\n"Last, First","Last, First","Last, First"'一起分配,则使用原始字符串会起作用。

默认情况下,Python不使用原始字符串进行赋值。我喜欢打印字符串,看看它们的视觉效果,因为所有的转义符都会让人困惑。

最新更新