如何将Python字典写入CSV文件并去除引号、方括号等特殊符号
解决方法:将字典写入空格分隔的CSV文件
嘿,这个需求很直接,咱们可以用两种简单的方式实现,保证输出完全符合你的要求——每行都是“键 值1 值2 值3”的格式,没有多余的单引号和方括号。
方法一:手动拼接行内容(简单直观)
这种方式适合快速实现,不需要额外导入模块:
res = {'Qatar': ['68.61994212', '59.03245947', '55.10905996'], 'Burundi': ['0.051012487', '0.048311391', '0.046681908'], 'Japan': ['9.605144835', '9.247590692', '9.542878595']} # 打开output.csv文件,使用写入模式(如果文件不存在会自动创建) with open('output.csv', 'w') as csv_file: # 遍历字典里的每个国家和对应的数据 for country, stats in res.items(): # 把数据列表用空格连接成字符串,再和国家名拼接成一行 line_content = f"{country} {' '.join(stats)}\n" csv_file.write(line_content)
核心逻辑是' '.join(stats)——它会把列表里的所有字符串元素用空格连接起来,自动去掉原列表的方括号和单引号,完美匹配你要的格式。
方法二:使用csv模块(更规范稳健)
如果后续数据可能包含特殊字符(比如空格),用Python内置的csv模块会更稳妥,它能自动处理边界情况:
import csv res = {'Qatar': ['68.61994212', '59.03245947', '55.10905996'], 'Burundi': ['0.051012487', '0.048311391', '0.046681908'], 'Japan': ['9.605144835', '9.247590692', '9.542878595']} # 打开文件时指定newline=''避免多余空行 with open('output.csv', 'w', newline='') as csv_file: # 创建CSV写入器,指定分隔符为空格 writer = csv.writer(csv_file, delimiter=' ') # 遍历字典,把国家名和数据列表合并成一个新列表后写入 for country, stats in res.items(): writer.writerow([country] + stats)
两种方法最终生成的output.csv内容都是这样的:
Qatar 68.61994212 59.03245947 55.10905996 Burundi 0.051012487 0.048311391 0.046681908 Japan 9.605144835 9.247590692 9.542878595
内容的提问来源于stack exchange,提问作者DIG
相关产品推荐
相关产品推荐

