文本文件的 Python 脚本 - 字符串、"[value1, value2, value3]"



我有一个.txt文件(输入):输入文件名.txt:

{'a':"[25, 27, 13]"
'b':"[50, 57, 41]"
'c':"[37, 33, 23]"
'd':"[40, 38, 24]"
'e':"[11, 11, 11]"
'f':"[2, 0, 2]"
'g':"[6, 4, 3]"
'h':"[79, 85, 39]}

我希望获得以下输出:

a, 25, 27, 13
b, 50, 57, 41
c, 37, 33, 23
d, 40, 38, 24
e, 11, 11, 11
f, 2, 0, 2
g, 6, 4, 3
h, 79, 85, 39

我找到了我的问题的答案,如下所示。

注意:我知道可以使用 for 循环,但有谁知道更快的方法,因为我的输入文件.txt非常大 - 7000 行。

在评估文件内容之前,可以使用replace()删除括号和双引号:

temp = dic1.read()
for ch in ('[', ']', '"'):
    temp = temp.replace(ch, '')
super_dic = ast.literal_eval(temp)

我打开了字典.txt,将字典中的值设置为字符串,然后连接三个值,现在是字符串。然后为每个开始一个新行。完成 for 循环。修复了问题!

#!/usr/bin/env python
import sys
import csv
sys.stdout=open('outputfilename.txt', 'w')
f=open('/Users/cmdb/Desktop/inputfilename.txt', 'r')
dic = eval(f.read())
with open("outputfilename.txt","wb") as g:
    for key in dic:
        g.write(",".join([key] + [ str(x) for x in dic[key] ] ) + "n")

最新更新