回答此问题可获得 20 贡献值,回答如果被采纳可获得 50 分。
<p>我正在尝试使用Python从url列表中收集数据集。数据采用ascii.txt格式。数据以不可读的格式返回,如“\xff\xfeO\x00B\x00S\x00”,其中它应该是一组带标题的制表符分隔的数字。举个例子,<a href="http://wps.aw.com/wps/media/objects/8992/9208383/Data_Sets/Ascii/Chapter1/HTWT1.txt" rel="nofollow">this</a>是我正在尝试的最简单的页面之一。这些数据来自一本统计学教科书,我想用它来完成练习,而不用下载单独的excel文件。你知道吗</p>
<p>我尝试了两个请求和urllib/urllib2,但它们都返回相同的数据。它看起来是以iso-8859-1的形式出现的,但是试图将编码改成UTF-8、UTF-16和拉丁语-1的结果都是一样的。下面是我的示例代码,它至少返回我要使用的数据结构:</p>
<pre><code>import urllib2
url = 'http://wps.aw.com/wps/media/objects/8992/9208383/Data_Sets/Ascii/Chapter1/HTWT1.txt'
raw = urllib2.urlopen(url)
data = []
for row in raw:
rawData = row.split("\t")
data.append(rawData)
</code></pre>
<p>我的代码输出如下:</p>
<pre><code>>>> print(data)
[['\xff\xfeO\x00B\x00S\x00', '\x00X\x00', '\x00Y\x00\r\x00\n'], ['\x001\x00', '\x005\x00', '\x001\x004\x000\x00\r\x00\n'], ['\x002\x00', '\x009\x00', '\x001\x005\x007\x00\r\x00\n'], ['\x003\x00', '\x001\x003\x00', '\x002\x000\x005\x00\r\x00\n'], ['\x004\x00', '\x001\x002\x00', '\x001\x009\x008\x00\r\x00\n'], ['\x005\x00', '\x001\x000\x00', '\x001\x006\x002\x00\r\x00\n'], ['\x006\x00', '\x001\x001\x00', '\x001\x007\x004\x00\r\x00\n'], ['\x007\x00', '\x008\x00', '\x001\x005\x000\x00\r\x00\n'], ['\x008\x00', '\x009\x00', '\x001\x006\x005\x00\r\x00\n'], ['\x009\x00', '\x001\x000\x00', '\x001\x007\x000\x00\r\x00\n'], ['\x001\x000\x00', '\x001\x002\x00', '\x001\x008\x000\x00\r\x00\n'], ['\x001\x001\x00', '\x001\x001\x00', '\x001\x007\x000\x00\r\x00\n'], ['\x001\x002\x00', '\x009\x00', '\x001\x006\x002\x00\r\x00\n'], ['\x001\x003\x00', '\x001\x000\x00', '\x001\x006\x005\x00\r\x00\n'], ['\x001\x004\x00', '\x001\x002\x00', '\x001\x008\x000\x00\r\x00\n'], ['\x001\x005\x00', '\x008\x00', '\x001\x006\x000\x00\r\x00\n'], ['\x001\x006\x00', '\x009\x00', '\x001\x005\x005\x00\r\x00\n'], ['\x001\x007\x00', '\x001\x000\x00', '\x001\x006\x005\x00\r\x00\n'], ['\x001\x008\x00', '\x001\x005\x00', '\x001\x009\x000\x00\r\x00\n'], ['\x001\x009\x00', '\x001\x003\x00', '\x001\x008\x005\x00\r\x00\n'], ['\x002\x000\x00', '\x001\x001\x00', '\x001\x005\x005\x00\r\x00\n'], ['\x00']]
</code></pre>
<p>如何获得可用格式的数据?使用curl似乎可以返回正确的内容格式,但我更希望尽可能保持python风格。你知道吗</p>
<p>作为参考,我出于习惯使用Python2.7.9(致力于移动到3),但如果这使事情变得更简单,可以使用3。你知道吗</p>