Python从CSV创建dict并使用文件名作为密钥

时间:2018-02-24 18:27:06

标签: python file dictionary text

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

cat, dog, fish

如何将文件名称为“allMaps”并将其用作键,以及内容为值?

我希望达到这种格式:

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

我有一系列txt文件,所有文件都包含以逗号分隔的值,因此为所有人创建的动态方法更有用!

其他txt文件是:

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

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

2 个答案:

答案 0 :(得分: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>")

答案 1 :(得分:1)

根据文件名,您可以创建一个字典,其中密钥存储文件名,其中包含文件数据列表的相应值:

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}