小编Gle*_*ard的帖子

Python Unicode CSV导出(使用Django)

我正在使用Django应用程序将字符串导出到CSV文件.该字符串是通过前端表单提交的消息.但是,当输入中提供了unicode单引号时,我一直收到此错误.

UnicodeEncodeError: 'ascii' codec can't encode character u'\u2019' 
  in position 200: ordinal not in range(128)
Run Code Online (Sandbox Code Playgroud)

我一直在尝试使用下面的代码将unicode转换为ascii,但仍然会出现类似的错误.

UnicodeEncodeError: 'ascii' codec can't encode characters in 
position 0-9: ordinal not in range(128)
Run Code Online (Sandbox Code Playgroud)

我已经筛选了几十个网站并学到了很多关于unicode的知识,但是,我仍然无法将这个unicode转换为ascii.我不在乎算法是否删除了unicode字符.注释的行表示我尝试过的各种选项,但错误仍然存​​在.

import csv
import unicodedata

...

#message = unicode( unicodedata.normalize(
#                            'NFKD',contact.message).encode('ascii','ignore'))
#dmessage = (contact.message).encode('utf-8','ignore')
#dmessage = contact.message.decode("utf-8")
#dmessage = "%s" % dmessage
dmessage = contact.message

csv_writer.writerow([
        dmessage,
])
Run Code Online (Sandbox Code Playgroud)

有没有人有任何关于删除unicode字符的建议我可以将它们导出为CSV?这个看似简单的问题让我头晕目眩.任何帮助深表感谢.谢谢,乔

python csv unicode ascii utf-8

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

python中的UTF-8兼容压缩

我想在json数据包中包含一个大的压缩字符串,但是有一些困难.

import json,bz2
myString = "A very large string"  
zString = bz2.compress(myString)
json.dumps({ 'compressedData' : zString })
Run Code Online (Sandbox Code Playgroud)

这会导致一个

UnicodeDecodeError: 'utf8' codec can't decode bytes in position 10-13: invalid data
Run Code Online (Sandbox Code Playgroud)

一个明显的解决方案是bz2'整个json结构,但我们假设我正在使用一个执行json编码的blackbox api并且它想要一个dict.

另外,我只是以bz2为例,虽然我注意到与zlib相同的行为,但我并不在乎实际算法是什么.

我可以理解为什么这两个压缩库不会创建utf-8兼容输出,但有没有任何解决方案可以有效地压缩utf-8字符串?这个页面好像是一个金矿http://unicode.org/faq/compression.html但我找不到任何相关的python信息.

python utf-8

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

围绕lambda表达式的包装

我在python中有函数,它接受两个输入,做一些操作,并返回两个输出.我想重新排列输出参数,所以我在原始函数周围写了一个包装函数,用新的输出顺序创建一个新函数

def rotate(f):
    h = lambda x,y: -f(x,y)[1], f(x,y)[0]
    return h

f = lambda x, y: (-y, x)
h = rotate(f)
Run Code Online (Sandbox Code Playgroud)

但是,这会给出一条错误消息:

NameError: global name 'x' is not defined
Run Code Online (Sandbox Code Playgroud)

x 是lambda表达式的参数,为什么必须定义它?

预期的行为h应该是一个与之相同的新函数lambda x,y: (-x,-y)

python lambda

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

基本的Python字典问题

我有一个包含一个键和两个值的字典,我想将每个值设置为一个单独的变量.

d = {'key':('value1,value2'),'key2':('value3,value4'),'key3':('value5,value6')}

我尝试了d [key] [0],希望它会返回"value1",而是返回"v"

有什么建议?

python dictionary

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

如何将5个点均匀分布到不规则形状上?

这是我要解决的问题:

我有一个不规则的形状.如何在这个形状上均匀分布5个点,使每个点之间的距离相等?

algorithm math geometry

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

Python"map或"列表中的元素

做这样的事情最优雅的方式是什么:

>>> tests = [false, false, false]
>>> map_or(test)
false

>>> tests = [true, false, false]
>>> map_or(test)
true
Run Code Online (Sandbox Code Playgroud)

map_or如果一个或多个列表元素为true,则该函数应返回true.

python

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

我可以通过在Python中使用这个新手代码运行time.sleep()来破坏系统吗?

我确定有一个更好的方法来做到这一点,但我是新手,所以我做了它唯一的方法,我可以搞清楚.问题是,我有一个脚本,用RSS源中的最新帖子更新文本文件(我从你们那里得到了一些帮助来弄明白).但我想让这个脚本自动化,所以我做了这个:

import time
import os

seconds = 3600
kjor = 'python vg.py'

time.sleep(seconds)
os.system(kjor)

time.sleep(seconds)
os.system(kjor)

time.sleep(seconds)
os.system(kjor)
Run Code Online (Sandbox Code Playgroud)

我继续将那些24x向下复制.我知道这可以通过一些循环(虽然?)可以做得更好,但我害怕我在那个领域还没有很多知识(还).

然而,我的问题如下:如果我让这个系统运行更长时间,系统是否会受到任何损坏?

python while-loop

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

标签 统计

python ×6

utf-8 ×2

algorithm ×1

ascii ×1

csv ×1

dictionary ×1

geometry ×1

lambda ×1

math ×1

unicode ×1

while-loop ×1