我需要将一个csv文件转换成字典。输入文件有4列,涉及小鸡Fila的食物。
我希望字典返回这样的内容:
{ “Spicy Chicken Sandwich” : (3.99, 460, 'Entrees'), “Grilled Chicken Sandwich” : (5.15, 320, 'Entrees'), “Market Salad” : (8.19, 250, 'Salads') }.
它是项目,价格,卡路里和类型
我已经尝试了很多次了。我正在介绍python类。到目前为止,我有此代码:
def read_file(filename):
with open("menu1.csv") as f:
for line in f:
任何帮助都会很棒!
您可以使用熊猫很好地做到这一点。
考虑CSV文件,例如:
╔══════════════════════════╦══════╦═════╦═════════╗
║ Name ║ H1 ║ H2 ║ H3 ║
╠══════════════════════════╬══════╬═════╬═════════╣
║ Spicy Chicken Sandwich ║ 3.99 ║ 460 ║ Entrees ║
║ Grilled Chicken Sandwich ║ 5.15 ║ 320 ║ Entrees ║
║ Market Salad ║ 8.19 ║ 250 ║ Salads ║
╚══════════════════════════╩══════╩═════╩═════════╝
import pandas as pd
df = pd.read_csv("menu1.csv")
df = df.set_index(<column you want as keys>)
result = df.to_dict('index')
这将为您提供类似于{index -> {column -> value}}
的外观,因此,将其转换为最终形式{index -> (values)
},您可以进行迭代:
result = {key: tuple(val.values()) for key, val in result.items()}
输出:
{'Spicy Chicken Sandwich': (3.99, 460, 'Entrees'), 'Grilled Chicken Sandwich': (5.15, 320, 'Entrees'), 'Market Salad': (8.19, 250, 'Salads')}