簡體   English   中英

文本文件的Python腳本-字符串,“ [[value1,value2,value3]”

[英]Python script for text file - string, “[value1, value2, value3]”

我有一個.txt文件(輸入):inputfilename.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循環,但是沒有人知道更快的方法,因為我的inputfile.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")

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM