Python 2.7,编码外语和tkinter
你好,世界!
我目前正在编写一个脚本,该脚本读取输入文件(在txt中)并输出制表符分隔的文件,该文件将被转换为CSV(输入到SQLite数据库)。它识别词典中的特殊字符,并在每次找到像')'或'|'这样的字符时插入制表符'\t'。我是葡萄牙人,我是编程和Python的新手,但在经历了所有的编码问题之后(因为我们有一些奇怪的字符,如á、à、ã、≈等等),我确实设法在窗口中打印出了口音和制表符。但现在我就是想不出如何将打印的函数输出到txt文件中!我尝试了from__Future__IMPORT打印_函数,但我就是想不出如何输出它。也许你们可以在这件事上帮我,告诉我哪里做错了,纠正我!请不要对我不好,我刚刚开始编程,我需要你们这样有经验的程序员的帮助!
以下是代码:
选择 | 换行 | 行号
- # -*- coding: utf8 -*-
- from Tkinter import *
- import Tkinter as tk
- import codecs
- from string import *
- import sys, win32com.client
- #u'\xe1'.encode('utf-8')
- root = tk.Tk()
- root.title('Tentative 1')
- #file = open('Data path to txt file to be read', 'r+')
- #sentence = file.read()
- #sentence = sentence.decode('cp1252', 'strict')
- with codecs.open('Data path to txt file to be read', encoding='latin1') as f:
- sentence = f.read()
- #if u'\xed' in sentence:
- #print sentence
- #else:
- #sentence = sentence.replace("u'\xed'", "-")
- def task():
- print '\n', sentence
- def replace_all(text, dic):
- for i, j in dic.iteritems():
- text = text.replace(i, j)
- return text
- reps = {'^^':'\t', '(':'\t', ')':'\t', 'ISBN:':'\t', '--':'\t', '"':'\t', '.:':'\t', '|':'\t', 'p.':'\t', ',':' '}
- txt = replace_all(sentence, reps)
- def txt_conversor():
- txt = replace_all(sentence, reps)
- print '\n', txt
- log = open('log.txt', 'w')
- print(txt_conversor, file1=log)
- results = tk.Button(root, text='Results', width=25, command=task)
- results.pack()
- txt = tk.Button(root, text='Convert Results', width=25, command=txt_conversor)
- txt.pack()
- root.mainloop()
它说我有一个语法错误的"打印'\n',句子",但我知道这不是主要的问题。
输入文件:
科雷亚,特蕾莎·平托;亨里克斯,维吉尼亚;胡利昂,鲁伊·佩德罗^(2013年),第九届葡萄牙语议会:西班牙,纳图雷扎,社会--,国际标准编号:978-972-99436-6-9,|里斯本:葡萄牙与热格拉夫斯协会。第977页电子书
多明格斯,L.;阿利斯特,J;伊巴涅斯·马丁内斯;纳塔里奥,M.;费尔南德斯,贡萨洛·波塔^^(2013)《EStudio Social oEconico de la Frontera entre葡萄牙y España》,|Edita Riet,--Salamanca。ISBN:978-84-7797-403-1