如何将Python字典列表解析并转换为CSV表格文件?
将字典列表转换为CSV表格文件的方法
针对你给出的包含字典元素的列表,可通过Python的csv模块快速转换为符合要求的CSV文件,具体步骤如下:
实现思路
每个字典的键对应CSV的列名,每个字典对应CSV的一行;对于key_skills这类列表类型的字段,需要先转换为字符串格式(比如用逗号分隔),避免CSV解析异常。
完整代码示例
import csv # 你的原始数据列表(示例,替换为实际数据) vacancies = [ {'name': 'WEB-Разработчик/программист (SEO-правки)', 'description': 'Hastra Agency ищет разработчика с опытом работы с связи с ростом отдела SEO-продвижения. Требуемый о...', 'key_skills': ['HTML', 'CSS', 'MySQL', 'PHP', 'SEO'], 'employer': 'Hastra Agency', 'salary': 'None - 60000 RUR', 'area': 'Москва', 'published_at': '2022-12-12', 'alternate_url': 'https://hh.ru/vacancy/73732873'}, {'name': 'Веб-разработчик golang, react, vue, nuxt, angular, websockets', 'description': 'Обязанности: Стек: react, vue, nuxt, angular, websockets, golang Поддержка текущего проекта с сущест...', 'key_skills': [], 'employer': 'МегаСео', 'salary': '150000 - None RUR', 'area': 'Москва', 'published_at': '2022-12-12', 'alternate_url': 'https://hh.ru/vacancy/73705217'} # 剩余8个元素补充在此 ] # 确定CSV表头(取第一个字典的键作为列名) fieldnames = vacancies[0].keys() # 写入CSV文件 with open('vacancies.csv', 'w', newline='', encoding='utf-8-sig') as csvfile: writer = csv.DictWriter(csvfile, fieldnames=fieldnames) # 写入表头 writer.writeheader() # 遍历每个职位,处理列表类型字段后写入 for vacancy in vacancies: # 将key_skills列表转为逗号分隔的字符串 vacancy['key_skills'] = ', '.join(vacancy['key_skills']) writer.writerow(vacancy)
关键说明
- 编码选择:使用
utf-8-sig编码,避免Windows系统下打开CSV出现乱码问题; - 列表字段处理:
key_skills是列表类型,直接写入CSV会导致格式错误,用', '.join()转为字符串后更易阅读; - 兼容性:
csv.DictWriter会自动匹配字典键和表头列名,即使后续字典字段顺序变化也能正确写入对应列。
内容的提问来源于stack exchange,提问作者Proger228
相关产品推荐
相关产品推荐

