【问题标题】:Dictionary from CSV [duplicate]来自 CSV 的字典 [重复]
【发布时间】:2017-03-10 11:37:46
【问题描述】:

我经常使用电子表格中的数据,我通常开始使用这样的函数,将其转换为字典字典:

def get_terms():
    terms = {}
    with open('Terms.csv') as infile:
        reader = csv.reader(infile, dialect='excel')
        headers = next(reader)
        for line in reader:
            term_id = line[0]
            terms[term_id] = {}
            for i, val in enumerate(line):
                terms[term_id][headers[i]] = val
    return terms

由于我经常使用它,我只是想知道是否有更简单的方法......你觉得呢?

【问题讨论】:

    标签: python


    【解决方案1】:

    如果您经常使用表格数据,我建议您切换到 pandas,这个库可以让您更轻松地对表格执行许多典型操作: http://pandas.pydata.org/

    用它读取 CSV 只是 pd.read_csv('file.csv')

    【讨论】:

    • 我以前用过熊猫;例如,我用它编写了这个(糟糕的)脚本来为我们学校的新生创建每日数据透视表:github.com/BenQuigley/check-in-counts-report 到目前为止,我发现它很难使用。我觉得我在 Python 中学到了很多东西,我不得不重新学习如何在 pandas 中做不同的事情。我想我会坚持下去。欢迎任何反馈。
    【解决方案2】:

    您可以简单地使用 pandas 库来做到这一点

    import pandas
    data = pandas.read_csv('Terms.csv')
    data.to_dict()
    

    【讨论】:

    • 不幸的是,似乎需要更长的时间,尽管它可能也可以扩展。
    • pandas 最初加载的库有点重......但如果你计划进行大量表格操作,它会非常有帮助
    猜你喜欢
    • 1970-01-01
    • 2014-02-08
    • 2023-03-15
    • 2016-03-04
    • 1970-01-01
    • 2014-09-20
    • 2014-05-27
    • 2021-01-10
    • 1970-01-01
    相关资源
    最近更新 更多