我需要将csv文件转换为字典。输入文件是4列,关于Chick 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的内容-
result = {key: tuple(val.values()) for key, val in result.items()}
输出:
{'辣鸡三明治':(3.99,460,'主菜'),'烤鸡三明治':(5.15,320,'主菜'),'市场沙拉':(8.19,250,'沙拉')}