我的python文件中的垃圾

时间:2016-05-18 09:42:10

标签: python utf-8 ansi

我在Python中创建一个脚本来获取一些脚本并将它们放入一个确定的大小(在本例中为37),如果需要,添加一些空格。我完成了它,我觉得它工作得很好,但后来我看到将编码从Ansi更改为Utf-8,反之,这些空间有一些垃圾。这是我的代码:

from __future__ import print_function
from openpyxl import load_workbook
import sys
import openpyxl
import codecs

doc_name = input('Enter Excel document name: ')
wb = load_workbook(doc_name + '.xlsx')
ws = wb.active
sql = open(doc_name + '.sql','w')
column = input('Enter column where I can find gescal (usually B): ')
i = 1
while True:
    '''If cell empty finish'''
    cell = ws[column + str(i)].value
    if cell == None:
        break
    '''Calculate Gescal 37'''
    lengthcell = len(cell)
    if lengthcell < 37:
        gescal37 = cell + (' '*(37-lengthcell))
    elif lengthcell > 37:
        gescal37 = cell[:37]
    else:
        gescal37 = cell
    '''Calculate gescal 17'''
    gescal17 = gescal37[:17]
    '''Write it in the document'''
    sql.write('update installationuser set GESCAL37 = \'' + gescal37 + '\' where GESCAL37 = \'' + gescal17 + '\';\n')
    i += 1
sql.close()

我尝试使用utf-8编码打开文档,但我在另一方面遇到了同样的问题。编码utf-8看起来相当不错但是当我试图用Ansi编码显示它时...砰!白色的空间有垃圾。

1 个答案:

答案 0 :(得分:0)

\xa0是一个不间断的空间。 尝试使用gescal = gescal.replace(u'\xa0', ' ')将其替换为空格。