在Python中将文本文件转换为字典

2024-05-19 08:11:57 发布

您现在位置:Python中文网/ 问答频道 /正文

我需要将一个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: 

任何帮助都将是惊人的


Tags: 文件csv内容字典chickmarket食物chicken
1条回答
网友
1楼 · 发布于 2024-05-19 08:11:57

你可以用熊猫很好地做到这一点

考虑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')}

相关问题 更多 >

    热门问题