相关疑难解决方法(0)

将Unicode文本写入文本文件?

我正在从Google文档中提取数据,处理数据并将其写入文件(最终我将粘贴到Wordpress页面).

它有一些非ASCII符号.如何将这些安全地转换为可以在HTML源中使用的符号?

目前我正在将所有内容转换为Unicode,在Python字符串中将它们连接在一起,然后执行:

import codecs
f = codecs.open('out.txt', mode="w", encoding="iso-8859-1")
f.write(all_html.encode("iso-8859-1", "replace"))
Run Code Online (Sandbox Code Playgroud)

最后一行有编码错误:

UnicodeDecodeError:'ascii'编解码器无法解码位置12286中的字节0xa0:序数不在范围内(128)

部分解决方案:

这个Python运行时没有错误:

row = [unicode(x.strip()) if x is not None else u'' for x in row]
all_html = row[0] + "<br/>" + row[1]
f = open('out.txt', 'w')
f.write(all_html.encode("utf-8"))
Run Code Online (Sandbox Code Playgroud)

但是如果我打开实际的文本文件,我会看到许多符号,如:

Qur’an 
Run Code Online (Sandbox Code Playgroud)

也许我需要写一些文本文件以外的东西?

python unicode character-encoding python-2.x

219
推荐指数
5
解决办法
26万
查看次数

不区分大小写的列表排序,而不降低结果?

我有一个像这样的字符串列表:

['Aden', 'abel']
Run Code Online (Sandbox Code Playgroud)

我想对项目进行排序,不区分大小写.所以我想得到:

['abel', 'Aden']
Run Code Online (Sandbox Code Playgroud)

但我得到的反面是,sorted()或者list.sort()因为大写字母出现在小写之前.

我怎么能忽略这个案子呢?我已经看到了涉及降低所有列表项的小写的解决方案,但我不想更改列表项的大小写.

python sorting string list case-insensitive

111
推荐指数
4
解决办法
5万
查看次数

Python的"这个Unicode的最佳ASCII"数据库在哪里?

我有一些使用Unicode标点符号的文本,如左双引号,右引号为撇号,等等,我需要用ASCII格式.Python是否有一个具有明显ASCII替代品的这些字符的数据库,所以我可以把它们全部变成"?".?

python unicode ascii

84
推荐指数
3
解决办法
2万
查看次数

UnicodeEncodeError:'ascii'编解码器无法对位置3中的字符u'\ u2013'进行编码2:序数不在范围内(128)

我正在使用xlrd解析xsl文件.大多数事情都很好.我有一个字典,其中键是字符串,值是字符串列表.所有键和值都是unicode.我可以使用str()方法打印大部分键和值.但是有些值具有unicode字符 - \u2013我得到了上述错误.

我怀疑这种情况正在发生,因为这是嵌入在unicode中的unicode,而python解释器无法对其进行解码.那我怎么能摆脱这个错误呢?

提前致谢.

python

73
推荐指数
4
解决办法
11万
查看次数

Python .split()没有'你

在Python中,如果我有一个像这样的字符串:

a =" Hello - to - everybody"
Run Code Online (Sandbox Code Playgroud)

我做到了

a.split('-')
Run Code Online (Sandbox Code Playgroud)

然后我明白了

[u'Hello', u'to', u'everybody']
Run Code Online (Sandbox Code Playgroud)

这只是一个例子.

如何在没有烦人的情况下获得一份简单的清单?

python unicode-string

8
推荐指数
1
解决办法
2万
查看次数

有没有办法将 unicode 转换为最接近的 ASCII 等价物?

我将举土耳其语的例子,例如“??ü?” 变成“sgui”

我确定每种语言都有自己的转换方法,有时一个字符可能会转换为多个 ASCII 字符,例如“alpha”/“phi”等。

我想知道是否有实现这种转换的库/方法

python unicode

8
推荐指数
1
解决办法
4633
查看次数

如何从单个RDD添加2个RDD列,然后根据PySpark中的日期数据进行行聚合

RDDs在PySpark中有两个:

RDD1集:

[(u'2013-01-31 00:00:00', u'a', u'Pab', u'abc', u'd'),(u'2013-01-31 00:00:00', u'a', u'ab', u'abc', u'g'),.....]
Run Code Online (Sandbox Code Playgroud)

RDD2:

[(u'41',u'42.0'),(u'24',u'98.0'),....]
Run Code Online (Sandbox Code Playgroud)

两者RDDs都有相同的数字或行.现在我想做的是把所有的列从RDD1集的每一行(从转换中unicode正常string),并从RDD2每一行(从转换的第2列unicode stringfloat),并形成新的RDD这一点.所以新的RDD将如下所示:

RDD3:

[('2013-01-31 00:00:00', 'a', 'Pab', 'abc', 'd',42.0),('2013-01-31 00:00:00', 'a', 'ab', u'abc', 'g',98.0),.....]
Run Code Online (Sandbox Code Playgroud)

完成后,我想通过第1列中的值在aggregation此新行中的每一行(浮点值)中执行最后一个值.那芒在所有行的,他们最后的数值应予以补充.RDD3datedate2013-01-31 00:00:00

我怎么能在PySpark中做到这一点?

python aggregate apache-spark rdd pyspark

5
推荐指数
1
解决办法
1740
查看次数

将Pandas数据框转换为元组的元组

我有以下熊猫数据框 df:

     Description    Code
0    Apples         014
1    Oranges        015
2    Bananas        017
3    Grapes         021
Run Code Online (Sandbox Code Playgroud)

我需要将其转换为元组的元组,如下所示:

my_fruits = ( ('Apples', '014'), 
              ('Oranges', '015'), 
              ('Bananas', '017'), 
              ('Grapes', '021')
            )
Run Code Online (Sandbox Code Playgroud)

你能帮我吗?我已经尝试了以下代码,但没有返回我真正想要的:

list(zip(df.columns,df.T.values.tolist()))
Run Code Online (Sandbox Code Playgroud)

提前致谢!!!

python tuples dataframe pandas

5
推荐指数
2
解决办法
1911
查看次数

将Unicode对象与非ASCII符号转换为字符串对象(在Python中)

我想通过在线服务发送中文字符,并返回生成的英文字符串.我正在使用简单的JSON和urllib.

是的,我在宣布.

# -*- coding: utf-8 -*-
Run Code Online (Sandbox Code Playgroud)

在我的代码之上.

现在一切正常,如果我给urllib一个字符串类型的对象,即使该对象包含什么是Unicode信息.我的功能被调用translate.

例如:

stringtest1 = '???????'

print translate(stringtest1)
Run Code Online (Sandbox Code Playgroud)

导致正确的翻译和做

type(stringtest1) 
Run Code Online (Sandbox Code Playgroud)

确认这是一个字符串对象.

但如果这样做

stringtest1 = u'???????'
Run Code Online (Sandbox Code Playgroud)

并尝试使用我的翻译功能我收到此错误:

  File "C:\Python27\lib\urllib.py", line 1275, in urlencode
    v = quote_plus(str(v))
UnicodeEncodeError: 'ascii' codec can't encode characters in position 2-8: ordinal not in range(128)
Run Code Online (Sandbox Code Playgroud)

经过一番研究,似乎这是一个常见的问题:

现在,如果我输入一个脚本

stringtest1 = '???????' 
stringtest2 = u'???????'
print 'stringtest1',stringtest1
print 'stringtest2',stringtest2
Run Code Online (Sandbox Code Playgroud)

执行它返回:

stringtest1 無與倫比的美麗
stringtest2 ???????
Run Code Online (Sandbox Code Playgroud)

但只需在控制台中键入变量:

>>> stringtest1
'\xe7\x84\xa1\xe8\x88\x87\xe5\x80\xab\xe6\xaf\x94\xe7\x9a\x84\xe7\xbe\x8e\xe9\xba\x97'
>>> stringtest2
u'\u7121\u8207\u502b\u6bd4\u7684\u7f8e\u9e97'
Run Code Online (Sandbox Code Playgroud)

抓住我的.

我的问题是我无法控制要翻译的信息如何影响我的功能.而且似乎我必须以Unicode格式提供它,该函数不接受它.

那么,我如何将一件事转换成另一件事呢?

我已经阅读了Stack …

python string unicode urllib unicode-string

4
推荐指数
1
解决办法
2108
查看次数