这里的问题:从字符串中删除编码的文本
我复制并从文本行https://www.cboe.org/mdx/mdi/mdiproducts.aspx
样品粘贴此整个列表到一个txt文件:
BFLY - The CBOE S&P 500 Iron Butterfly Index BPVIX - CBOE/CME FX British Pound Volatility Index BPVIX1 - CBOE/CME FX British Pound Volatility First Term Structure Index BPVIX2 - CBOE/CME FX British Pound Volatility Second Term Structure Index
这些行当然在我的文本文件中看起来很正常,我用utf-8编码保存了文件。
我的目标是使用python去掉这个长列表中的符号,例如.e.g。 BFLY,VPVIX等,并将其写入到一个新的文件
我使用下面的代码读取该文件,并把它分解:
x=open('sometextfile.txt','r')
y=x.read().split()
我看到的问题是,有不熟悉的字符大跌眼镜他们正在影响我筛选名单的能力。例如:
print(y[0])
BFLY
我猜测,这些字符必须是与编码和我试图与没有成功的编解码器模块一些不同的东西。使用.decode('utf-8')尝试将它用于上述变量x或y时会引发错误。我可以使用.encode('utf-8'),这显然使事情变得更糟。
主要问题是,当我尝试循环访问列表并删除不是全部大写或包含非字母字符的任何项目时。例如:
y[0].isalpha()
False
y[0].isupper()
False
所以在这个例子中,符号BFLY最终被从列表中删除。
有趣的是,这些人物都没有出现在一个txt文件,如果我这样做:
q=open('someotherfile.txt','w')
q.write(y[0])
任何帮助将不胜感激。我真的很想理解为什么在从这样的网页复制和粘贴文本时经常发生这种情况。
您可以编辑您的问题,其中显示有数据文件信息 - 使用{}按钮,保持线路的格式。我会这样做,但是它太短了编辑 –
我复制以及粘贴到一个文件使用vim。也许你的文本编辑器设置为将文件保存在utf-8以外的文件中?或者也许它正在更改引号来卷曲引号 –
不幸的是,我正在使用Windows记事本。如果我将相同的文本复制到记事本++,我没有看到任何可以指示这些字符存在的内容。也许我会尝试用记事本++代替它。 –