相关疑难解决方法(0)

在Python中将Unicode转换为ASCII而没有错误

我的代码只是抓取一个网页,然后将其转换为Unicode.

html = urllib.urlopen(link).read()
html.encode("utf8","ignore")
self.response.out.write(html)
Run Code Online (Sandbox Code Playgroud)

但我得到一个UnicodeDecodeError:


Traceback (most recent call last):
  File "/Applications/GoogleAppEngineLauncher.app/Contents/Resources/GoogleAppEngine-default.bundle/Contents/Resources/google_appengine/google/appengine/ext/webapp/__init__.py", line 507, in __call__
    handler.get(*groups)
  File "/Users/greg/clounce/main.py", line 55, in get
    html.encode("utf8","ignore")
UnicodeDecodeError: 'ascii' codec can't decode byte 0xa0 in position 2818: ordinal not in range(128)
Run Code Online (Sandbox Code Playgroud)

我认为这意味着HTML包含一些在某处错误形成的Unicode尝试.我可以删除导致问题的任何代码字节而不是出错吗?

python unicode ascii utf-8 character-encoding

170
推荐指数
9
解决办法
46万
查看次数

使用Python中的PDFMiner从PDF文件中提取文本?

Python版本2.7

我正在寻找有关如何使用PDFMiner和Python从PDF文件中提取文本的文档示例.

看起来PDFMiner更新了他们的API,我发现的所有相关示例都包含过时的代码(类和方法已经改变).我发现的库使得从PDF文件中提取文本的任务更容易使用旧的PDFMiner语法,所以我不知道如何做到这一点.

事实上,我只是看源代码,看看能否解决它.

python text-extraction pdfminer

71
推荐指数
4
解决办法
10万
查看次数

Ipython笔记本(jupyter),opencv(cv2)和密谋?

有没有办法使用opencv2和ipython笔记本进行绘图?

我是python图像分析的新手.我决定使用笔记本的工作流程来制作漂亮的记录,因为我正在处理它并且使用matplotlib/pylab绘制的东西很好.

我遇到的最初障碍是如何在笔记本中绘制内容.简单,只需使用魔法:

%matplotlib inline
Run Code Online (Sandbox Code Playgroud)

后来,我想用交互式绘图进行操作,但在专用窗口中绘图总是会冻结.好吧,我再次了解到你需要使用魔法.而不是只导入模块:

%pylab
Run Code Online (Sandbox Code Playgroud)

现在我已经开始使用opencv了.我现在回到同样的问题,我要么根据手头的任务绘制内联或使用专用的交互式窗口.是否有类似的魔法使用?还有另一种让事情发挥作用的方法吗?或者我卡住了,需要回到IDLE运行程序?

作为旁注:我知道opencv已正确安装.首先,因为我没有安装或导入cv2模块的错误.其次,因为我可以用cv2读取图像,然后用其他东西绘制它们.

python plot opencv ipython

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

如果我在Python字符串中有zipfile的内容,我可以解压缩而不将其写入文件吗?

我编写了一些Python代码,用于从Web获取zip文件并将其转换为字符串:

In [1]: zip_contents[0:5]
Out[1]: 'PK\x03\x04\x14'
Run Code Online (Sandbox Code Playgroud)

我看到有一个zipfile库,但是我在查找函数时遇到了麻烦,我只能传递一堆原始zip数据.它似乎想从文件中读取它.

我真的需要将其转储到临时文件中,还是有办法绕过它?

python

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

dtypes.Python中S1和S2的区别

我有两个字符串数组:

In [51]: r['Z']
Out[51]: 
array(['0', '0', '0', ..., '0', '0', '0'], 
      dtype='|S1')

In [52]: r['Y']                                                                                                                
Out[52]: 
array(['X0', 'X0', 'X0', ..., 'X0', 'X1', 'X1'], 
      dtype='|S2')
Run Code Online (Sandbox Code Playgroud)

S1和S2有什么区别?只是他们持有不同长度的条目吗?

如果我的数组有不同长度的字符串怎么办?

我在哪里可以找到所有可能的dtypes列表及其含义?

python numpy

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

Python,在内存中写入zip到文件

如何将内存zipfile写入文件?

# Create in memory zip and add files
zf = zipfile.ZipFile(StringIO.StringIO(), mode='w',compression=zipfile.ZIP_DEFLATED)
zf.writestr('file1.txt', "hi")
zf.writestr('file2.txt', "hi")

# Need to write it out
f = file("C:/path/my_zip.zip", "w")
f.write(zf)  # what to do here? Also tried f.write(zf.read())

f.close()
zf.close()
Run Code Online (Sandbox Code Playgroud)

python zip stringio

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

如何在没有写/读的情况下在Python中执行JPEG压缩

我想直接使用压缩的JPEG图像.我知道使用PIL/Pillow我可以在保存时压缩图像,然后回读压缩图像 - 例如

from PIL import Image
im1 = Image.open(IMAGE_FILE)
IMAGE_10 = os.path.join('./images/dog10.jpeg')
im1.save(IMAGE_10,"JPEG", quality=10)
im10 = Image.open(IMAGE_10)
Run Code Online (Sandbox Code Playgroud)

但是,我想要一种方法来做到这一点,而无需无关的写和读.是否有一些Python包带有一个函数,它将图像和质量数作为输入并返回具有给定质量的图像的jpeg版本?

python jpeg image pillow

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

如何将django图像场形成PIL图像并返回?

给定django图像字段,如何创建PIL图像,反之亦然?

简单的问题,但很难谷歌:(

(我将使用django-imagekit的处理器来旋转已经存储为模型属性的图像.)

编辑

In [41]: m.image_1.__class__
Out[41]: django.db.models.fields.files.ImageFieldFile

In [42]: f = StringIO(m.image_1.read())

In [43]: Image.open(f)
---------------------------------------------------------------------------
IOError                                   Traceback (most recent call last)
<ipython-input-43-39949b3b74b3> in <module>()
----> 1 Image.open(f)

/home/eugenekim/virtualenvs/zibann/local/lib/python2.7/site-packages/PIL/Image.pyc in open(fp, mode)
   2023                 pass
   2024
-> 2025     raise IOError("cannot identify image file")
   2026
   2027 #

IOError: cannot identify image file

In [44]:
Run Code Online (Sandbox Code Playgroud)

django python-imaging-library imagefield

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

高效地将最后'n'行CSV读入DataFrame

一些方法可以做到这一点:

  1. 阅读整个CSV然后使用 df.tail
  2. 以某种方式反转文件(对于大文件最好的方法是什么?)然后使用nrows参数来读取
  3. 以某种方式找到CSV中的行数,然后使用skiprows并读取所需的行数.
  4. 也许做块读取丢弃初始块(虽然不知道这将如何工作)

可以用更简单的方式完成吗?如果不是,应该优先考虑这三者中的哪一个?为什么?

可能相关:

  1. 有效地找到文本文件中的最后一行
  2. 使用pandas read_csv和nrows读取~13000行CSV文件的部分内容

没有直接关系:

  1. 如何获得最后一行pandas数据帧?

python csv numpy pandas

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

Matplotlib图形图像到base64

问题:需要将matplotlib的图形图像转换为base64图像

当前解决方案:将matplot图像保存在缓存文件夹中,并使用read()方法读取它,然后转换为base64

新问题:烦恼:需要一个解决方法,所以我不需要将图形保存为任何文件夹中的图像.我想在内存中使用图像.执行不必要的I/O是一种不好的做法.

def save_single_graphic_data(data, y_label="Loss", x_label="Epochs", save_as="data.png"):
    total_epochs = len(data)
    plt.figure()
    plt.clf()

    plt.plot(total_epochs, data)

    ax = plt.gca()
    ax.ticklabel_format(useOffset=False)

    plt.ylabel(y_label)
    plt.xlabel(x_label)

    if save_as is not None:
        plt.savefig(save_as)

    plt.savefig("cache/cached1.png")

    cached_img = open("cache/cached1.png")

    cached_img_b64 = base64.b64encode(cached_img.read())

    os.remove("cache/cached1.png")

    return cached_img_b64
Run Code Online (Sandbox Code Playgroud)

python matplotlib python-2.7

9
推荐指数
3
解决办法
3756
查看次数