gpt4 book ai didi

python - 将文本文件转换为Python字典

转载 作者:行者123 更新时间:2023-11-30 23:11:02 24 4
gpt4 key购买 nike

我在将文本文件转换为 python 字典时遇到问题。幸运的是,文本文件有一个“:”,它将我 future 的 key 与其值分开。例如,每一行的结构如下“-项目经理:John Caldwell”。我想循环遍历包含大量文本文件的目录。在流程中,我喜欢去掉每行的“-”。这是我到目前为止的代码:

import sys, traceback,os, csv, itertools
from collections import defaultdict

def get_metadata(filepath):
d = defaultdict(list)
for files in filepath:
if files.endswith(".txt"):
with open(files,'r') as in_file:
for line in in_file:
k,v = line.strip('-').split(':')
d[k].append(v)

return d

root_directory = get_metadata("C:\Random")
print root_directory

这是我运行脚本时得到的结果

defaultdict(<type 'list'>, {})

最佳答案

问题是 "C:\Random" 不是文件列表,它只是一个字符串。因此,对于 filepath 中的文件 会给出 'C',然后是 ':',然后是 '\',等等。这些都不以 .txt 结尾,因此您无需打开任何文件或执行任何其他操作。

你想要的可能是for files in os.listdir(filepath): .

或者,如果您想打开该目录或任何子目录中的所有文件(递归地),请使用 walk (有关示例代码,请参阅链接文档)。

正如 bgporter 指出的那样,如果您调用 listdir 的唯一原因是根据模式检查每个文件名,您可能需要使用 for files in glob.glob(os.path.join(filepath, '*.txt')):跳过 if 测试的需要。

关于python - 将文本文件转换为Python字典,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30381276/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com