【问题标题】:Python create dict from CSV and use the file name as keyPython 从 CSV 创建 dict 并使用文件名作为键
【发布时间】:2018-08-04 14:16:16
【问题描述】:

我有一个名为“allMaps.txt”的简单 CSV 文本文件。它包含以下内容:

cat, dog, fish

如何获取文件名“allMaps”并将其用作键,同时内容为值?

我希望实现这种格式:

{"allMaps": "cat", "dog", "fish"}

我有一系列 txt 文件,所有这些文件都包含用逗号分隔的值,所以一个更动态的方法对所有人都是有益的!

其他txt文件有:

allMaps.txt
fiveMaps.txt
tenMaps.txt
sevenMaps.txt

它们都包含逗号分隔的值。有没有办法查看文件夹并将文本文件中的每个文件转换为键值字典?

【问题讨论】:

  • 您的输出示例不是有效的键值字典。值应该是一个列表吗?

标签: python file dictionary text


【解决方案1】:

假设你有一个列表中的文件名。

files = ["allMaps.txt", "fiveMaps.txt", "tenMaps.txt", "sevenMaps.txt"]

您可以执行以下操作:

my_dict = {}
for file in files:
    with open(file) as f:
        items = [i.strip() for i in f.read().split(",")]
    my_dict[file.replace(".txt", "")] = items

如果文件都在同一个文件夹中,您可以执行以下操作而不是维护文件列表:

import os
files = os.listdir("<folder>")

【讨论】:

    【解决方案2】:

    给定文件名,您可以创建一个字典,其中键存储文件名以及文件数据列表的对应值:

    files = ['allMaps.txt', 'fiveMaps.txt', 'tenMaps.txt', 'sevenMaps.txt']
    final_results = {i:[b.strip('\n').split(', ') for b in open(i)] for i in files}
    

    【讨论】:

      猜你喜欢
      • 2013-02-04
      • 2015-06-05
      • 2012-08-07
      • 1970-01-01
      • 1970-01-01
      • 2015-06-13
      • 2022-07-13
      • 2017-03-01
      • 2011-05-06
      相关资源
      最近更新 更多