python3stringio
① python中的cStringIO問題
Python3 沒有cStringIO, 改為io
tim@ubtim:~$ python
Python 2.7.3 (default, Sep 26 2013, 20:08:41)
[GCC 4.6.3] on linux2
Type "help", "right", "credits" or "license" for more information.
>>> import cStringIO
>>> exit()
tim@ubtim:~$ python3
Python 3.2.3 (default, Sep 25 2013, 18:25:56)
[GCC 4.6.3] on linux2
Type "help", "right", "credits" or "license" for more information.
>>> import cStringIO
Traceback (most recent call last):
File "<stdin>", line 1, in <mole>
ImportError: No mole named cStringIO
>>> import io
>>> ios = io.StringIO()
>>>
② python3怎麼import stringio
在windows下安裝pandas,除了安裝pandas外,還需把用到的相關包都裝上,共需要安裝如下包: pyparsing-2.0.2.win32-py2.7.exe matplotlib-1.3.1.win32-py2.7.exe openpyxl-openpyxl-5d2c0c874d2.tar.gz setuptools-3.8.1
③ Python3 打開一張網路圖片
不要用io.StringIO,改用io.BytesIO
④ 用python寫一個程序實現字元串壓縮的方法
import
StringIOimport
gzipcompresseddata
=
gzip方式壓縮的字元串(html)compressedstream
=
StringIO.StringIO(compresseddata)gzipper
=
gzip.GzipFile(fileobj=compressedstream)data
=
gzipper.read()
#
data就是解壓後的數據一個簡單的例子1
import
urllib2
2
from
StringIO
import
StringIO
3
import
gzip
4
5
def
loadData(url):
6
request
=
urllib2.Request(url)
7
request.add_header('Accept-encoding',
'gzip')
8
response
=
urllib2.urlopen(request)
9
if
response.info().get('Content-Encoding')
==
'gzip':10
print
'gzip
enabled'11
buf
=
StringIO(response.read())12
f
=
gzip.GzipFile(fileobj=buf)13
data
=
f.read()14
else:15
data
=
response.read()16
return
data
⑤ python3.5如何直接讀取(不先進行解壓操作)zip壓縮文件中某一個csv格式文件中各行的內容
import StringIO
import zipfile
filehandle = open("D:/ABC.zip", 'rb')
zfile = zipfile.ZipFile(filehandle)
data = StringIO.StringIO(zfile.read(zfile .namelist()[0]))
reader = csv.reader(data)
在zipfile文檔中看了ZipFile對象的read方法,它返回的是位元組,不是迭代器。因為csv.reader方法它的參數是需要一個迭代器的。所以你的這段代碼過不了:reader=csv.reader(zf.open(cf))
。