从指定CSV文件提取数据,将sku作为键生成对应成本价的字典
把CSV数据转换为SKU映射成本价的字典
先看看你提供的CSV内容:
sku,cost price
aba,8.32
abb,11.12
abc,34.34
abd,7.54
abe,3.54
abf,9.31
abg,8.22
下面给你三种实用的实现方法,按需选择就行:
方法1:用Python内置csv模块(无需额外安装库)
这是最基础的方案,不用装任何第三方包,兼容性拉满:
import csv # 初始化空字典 sku_cost_map = {} # 打开CSV文件读取内容 with open('你的文件名.csv', mode='r', encoding='utf-8') as csv_file: # 用DictReader自动识别表头 csv_reader = csv.DictReader(csv_file) # 遍历每一行,把sku作为键,成本价作为值存入字典 for row in csv_reader: sku_cost_map[row['sku']] = row['cost price'] # 打印结果验证 print(sku_cost_map)
运行后就能得到你要的{'aba': '8.32', 'abb': '11.12', ...}格式的字典。
方法2:用字典推导式简化代码
如果你喜欢更紧凑的写法,可以用这个,核心逻辑一行搞定:
import csv with open('你的文件名.csv', mode='r', encoding='utf-8') as csv_file: next(csv_file) # 跳过第一行的表头 # 直接通过推导式生成字典 sku_cost_map = {row[0]: row[1] for row in csv.reader(csv_file)} print(sku_cost_map)
这里next(csv_file)用来跳过表头行,csv.reader会把每一行拆成列表,取第一个元素做键、第二个做值。
方法3:用Pandas快速处理(适合大数据场景)
如果你平时用Pandas做数据分析,这个方法效率更高,代码也更简洁:
import pandas as pd # 读取CSV到DataFrame df = pd.read_csv('你的文件名.csv') # 把sku设为索引,然后把cost price列转成字典 sku_cost_map = df.set_index('sku')['cost price'].to_dict() print(sku_cost_map)
注意:这个方法需要先安装Pandas,执行pip install pandas就能完成安装。
以上三种方法都能实现你的需求,根据自己的使用场景选就行~
内容的提问来源于stack exchange,提问作者Scott
相关产品推荐
相关产品推荐

