我使用的是Python 3.2.1,我无法导入StringIO模块.我使用
io.StringIO和它的作品,但我不能使用它numpy的genfromtxt是这样的:
x="1 3\n 4.5 8"
numpy.genfromtxt(io.StringIO(x))
Run Code Online (Sandbox Code Playgroud)
我收到以下错误:
TypeError: Can't convert 'bytes' object to str implicitly
Run Code Online (Sandbox Code Playgroud)
当我写import StringIO它时说
ImportError: No module named 'StringIO'
Run Code Online (Sandbox Code Playgroud) 我有一些使用Unicode标点符号的文本,如左双引号,右引号为撇号,等等,我需要用ASCII格式.Python是否有一个具有明显ASCII替代品的这些字符的数据库,所以我可以把它们全部变成"?".?
这是我的字符串:
'ls\r\n\x1b[00m\x1b[01;31mexamplefile.zip\x1b[00m\r\n\x1b[01;31m'
Run Code Online (Sandbox Code Playgroud)
我正在使用代码从SSH命令检索输出,我希望我的字符串只包含'examplefile.zip'
我可以用什么来删除额外的转义序列?
我正在尝试在python中编写脚本以将utf-8文件转换为ASCII文件:
#!/usr/bin/env python
# *-* coding: iso-8859-1 *-*
import sys
import os
filePath = "test.lrc"
fichier = open(filePath, "rb")
contentOfFile = fichier.read()
fichier.close()
fichierTemp = open("tempASCII", "w")
fichierTemp.write(contentOfFile.encode("ASCII", 'ignore'))
fichierTemp.close()
Run Code Online (Sandbox Code Playgroud)
当我运行此脚本时,我有以下错误:
在范围序数不(128):UnicodeDecodeError错误:0xef在位置13"ASCII"编解码器不能解码的字节
我认为可以忽略编码方法中的ignore参数的错误.但似乎没有.
我对其他转换方式持开放态度.
当我尝试转换unicode时:
a = u"????"
Run Code Online (Sandbox Code Playgroud)
要字符串:
str(a)
Run Code Online (Sandbox Code Playgroud)
我收到了这个错误:
'ascii' codec can't encode characters in position 0-3: ordinal not in range(128)
Run Code Online (Sandbox Code Playgroud)
我需要str(a)给我输出:
>> str(a)
>> '????'
Run Code Online (Sandbox Code Playgroud) 我正在使用Python,不幸的是我的代码需要将表示字符串的utf-8代码的字符串转换为原始字符串,如:
我从其他代码获得的UTF-8代码字符串:
\u6b22\u8fce\u63d0\u4ea4\u5fae\u535a\u641c\u7d22\u4f7f\u7528\u53cd\u9988\uff0c\u8bf7\u76f4\u63a5
Run Code Online (Sandbox Code Playgroud)
我需要将它转换回原始字符串.怎么做?
def order_check_uni(body): \n ccnt=0 \n for x in body: \n if x.isUpper(): \n ccnt+=1 \n if ccnt>2: \n print 'success' \nRun Code Online (Sandbox Code Playgroud)\n\n\xd0\xb0\xd0\xb1\xd0\xb2\xd0\xb3\xd0\xb4\xd0\xb5\xd1\x91\xd0\xb6\xd0\xb7\xd0\xb8\xd0\xb9\xd0\xba\xd0\xbb\xd0\xbc\xd0\xbd\xd0\xbe\xd0\xbf\xd1\x80\xd1\x81\xd1\x82\xd1\x83\xd1\x84\xd1\x85\xd1\x86\xd1\x87\xd1\x88\xd1\x89\xd1\x8a\xd1\x8b\xd1\x8c\xd1\x8d\xd1\x8e\xd1\x8f \xc2\xae\xc2\xa9\xe2\x84\xa2我尝试使用该脚本在字符串正文中查找字符非 ASCII 或特殊字符或 unicode 字符或西里尔字符,我尝试替换isUpper()为isascii()and len(x) == len(x.encode)、 withunichr()和其他函数替换,但仍然发现错误,有人可以帮助我吗?
我使用以下代码编码参数列表:
params['username'] = user
params['q'] = q
params = urllib.quote(params)
Run Code Online (Sandbox Code Playgroud)
但是当q它等于时它不起作用??.返回以下错误:
'ascii' codec can't encode characters in position 0-1: ordinal not in range(128)
Run Code Online (Sandbox Code Playgroud)
我该如何解决?
将元组中的值从unicode转换为字符串的最佳方法是什么,当元组在列表中时,是否可以在不循环的情况下完成?
unicodedata.normalize('NKFD', x)只能采取unicode,而不是元组.数据集还包括浮点值.
unicode_tuple_list = [(u'text in unicode', u'more unicode'), (u'more text in unicode', u'even more unicode')]
print type(unicode_tuple_list) # list - keep as list
print type(unicode_tuple_list[0]) # tuple - keep as tuple
print type(unicode_tuple_list[0][0]) # unicode
Run Code Online (Sandbox Code Playgroud)
如何将所有这些价值观作为一个str?
我从读取xls文件获得的数据帧遇到一些麻烦。这样的数据帧上的每个数据都具有“ unicode”类型,对此我无能为力。我想将其更改为str值。另外,如果可能的话,我想知道这个事实的原因。我听到了一些有关“外部数据”的信息,并且我知道列和索引在它们的名称之前也都显示了unicode的“ u”。我对编码几乎一无所知,如果有人另外解释一下,我将不胜感激。
我正在使用Python 2,并尝试使用功能如下逐列解决它
.astype(str)
.astype(basestring)
.apply(str)
Run Code Online (Sandbox Code Playgroud)
和
.str.decode('iso-8859-1').str.encode('utf-8')
Run Code Online (Sandbox Code Playgroud)
(我在这里读到了最后一个,我只是在我的代码中编写了它以尝试另一件事)。我也试过
unicodedata.normalize('NFKD', df_bolsa[l]).encode('ascii','ignore')
Run Code Online (Sandbox Code Playgroud)
但是最后一个不能用于系列。我希望有人能够帮助我澄清这个问题。提前非常感谢您!!
尝试替换或删除此列表中的字符串以插入到不允许它们的数据库中
info=[[u'\xa0Buffalo\u2019s League of legends ...', '2012-09-05'], [u' \xa0RCKIN 0 - 1 WITHACK.nq\xa0 ', u'\xa0Buffalo\u2019s League of legends ...', '2012-09-05']]
Run Code Online (Sandbox Code Playgroud)
我用了这个代码
info = [[x.replace(u'\xa0', u'') for x in l] for l in info]
info = [[y.replace('\u2019s', '') for y in o] for o in info]
Run Code Online (Sandbox Code Playgroud)
第一行有效,但第二行无效,有什么建议吗?
我有以下数据集
\n\n\'F\xca\x80\xc9\xaa\xe1\xb4\x87\xc9\xb4\xe1\xb4\x85\',\n \'\xe1\xb4\x8d\xe1\xb4\x8f\xe1\xb4\x8d\',\n \'\xe1\xb4\x8d\xe1\xb4\x80\xe1\xb4\x8b\xe1\xb4\x87s\',\n \'\xca\x9c\xe1\xb4\x8f\xe1\xb4\x9c\xca\x80\xca\x9f\xca\x8f\',\n \'\xe1\xb4\x9b\xca\x9c\xe1\xb4\x87\',\n \'\xe1\xb4\x84\xe1\xb4\x8f\xe1\xb4\x8d\xe1\xb4\x98\xe1\xb4\x9c\xe1\xb4\x9b\xe1\xb4\x87\xca\x80\',\n \'\xca\x99\xe1\xb4\x87\xe1\xb4\x87\xc9\xb4\',\n \'\xe1\xb4\x8f\xe1\xb4\x9c\xe1\xb4\x9b\',\n \'\xe1\xb4\x80\',\n \'\xe1\xb4\x8a\xe1\xb4\x8f\xca\x99\',\n \'\xd2\x93\xe1\xb4\x8f\xca\x80\',\n \'\xe1\xb4\x8d\xe1\xb4\x8f\xc9\xb4\xe1\xb4\x9b\xca\x9cs\',\n \'\xca\x99\xe1\xb4\x9c\xe1\xb4\x9b\',\n \'\xca\x9f\xe1\xb4\x80s\xe1\xb4\x9b\',\n \'\xe1\xb4\x8d\xe1\xb4\x8f\xc9\xb4\xe1\xb4\x9b\xca\x9c\',\n \'\xca\x9c\xe1\xb4\x87\xca\x80\',\n \'\xe1\xb4\x84\xca\x9c\xe1\xb4\x87\xe1\xb4\x84\xe1\xb4\x8b\',\n \'\xe1\xb4\x8a\xe1\xb4\x9cs\xe1\xb4\x9b\',\n \'\xe1\xb4\xa1\xe1\xb4\x8f\xca\x80\xe1\xb4\x8b\xc9\xaa\xc9\xb4\xc9\xa2\',\n \'\xd2\x93\xe1\xb4\x87\xe1\xb4\xa1\',\n \'\xca\x9c\xe1\xb4\x8f\xe1\xb4\x9c\xca\x80s\',\n \'s\xe1\xb4\x8f\xe1\xb4\x9c\xca\x80\xe1\xb4\x84\xe1\xb4\x87\',\nRun Code Online (Sandbox Code Playgroud)\n\n我想使用 Python 脚本转换成 ASCII 格式\n例如:
\n\nF\xca\x80\xc9\xaa\xe1\xb4\x87\xc9\xb4\xe1\xb4\x85 - FRIEND\n\xe1\xb4\x8d\xe1\xb4\x8f\xe1\xb4\x8d - MOM\nRun Code Online (Sandbox Code Playgroud)\n\n我已经尝试过编码解码,但这不起作用\我也尝试过这个解决方案。但这并不能解决我的问题。
\n首先,我对python很新,所以原谅我所有的n00b东西.所以Python中的应用程序逻辑是这样的:
现在问题是,SQL查询返回unicode字符串.select的输出是这样的:
(u'Abc', u'Lololo', u'Fjordk\xe6r')
Run Code Online (Sandbox Code Playgroud)
所以首先我试图将它转换为字符串,但它失败了,因为第三个元素包含这个德语'ae'字母:
for x in data[0]:
str_data.append(str(x))
Run Code Online (Sandbox Code Playgroud)
我得到:UnicodeEncodeError:'ascii'编解码器不能编码位置6中的字符u'\ xe6':序数不在范围内(128)
当TypeError发生时,我也可以直接插入unicode插入.TypeError:强制转换为Unicode:需要字符串或缓冲区,找到NoneType
有任何想法吗?
python ×13
unicode ×8
python-2.7 ×4
ascii ×3
string ×2
ansi-escape ×1
escaping ×1
io ×1
list ×1
pandas ×1
python-3.x ×1
replace ×1
tuples ×1
urlencode ×1
utf-8 ×1