我的数据看起来像这样
$ cat file
(71149, 3079, 68070, 0.0433) Alex
(51135, 2881, 48254, 0.0563) Brandon
(27231, 7105, 20126, 0.2609) Chad
(8365, 3634, 4731, 0.4344) Daniel
(7490, 7346, 144, 0.9808) Eliz
(6841, 3917, 2924, 0.5726) Frank
(6740, 7393, -653, 1.0969) Gates
(5084, 500, 4584, 0.0983) Harry
(5044, 3913, 1131, 0.7758) Ian
(4760, 699, 4061, 0.1468) Jack
....
Run Code Online (Sandbox Code Playgroud)
我想按括号中的最后一个元素对内容进行排序,如何在命令行中执行此操作.
$ cat file | ... magic ...
(6740, 7393, -653, 1.0969) Gates
(7490, 7346, 144, 0.9808) Eliz
(5044, 3913, 1131, 0.7758) Ian
(6841, 3917, …Run Code Online (Sandbox Code Playgroud) 数据收集是我日常工作的一部分,通常我收集数据的方式是使用urllib2收集html页面,然后使用beautifulsoup来解析我想要的数据.
我经常听说过Python Scrapy包.我看了一下Scrapy,他们网站上的内容基本上是关于一般Scraping的重要性,而不是'Scrapy'本身.
我想知道一个对urllib2和beautifulsoup有合理知识的人,Scrapy很酷或简单到足以让我放弃urllib2和bs4去吗?如果是这样,那么转换的最主要原因是什么?
也许来自以下方面:
快速实施机器人
机器人的坚固性
容易维护你的机器人.
我有一个类似这样的文件(^ A是非打印字符,下面是VI中的视图),由^ A分隔的列和由\n终止的行.
# input
2013-10-07 10:40:14.170976^Awww.abc.com/0
2013-10-07 10:40:14.171074^Awww.abc.com/1
2013-10-07 10:40:14.171101^Awww.abc.com/2
2013-10-07 10:40:14.171133^Awww.abc.com/3
2013-10-07 10:40:14.171156^Awww.abc.com/4
...
Run Code Online (Sandbox Code Playgroud)
您可以使用下面的python脚本重新创建该文件:
# test.py
from datetime import datetime
for i in range(10):
print chr(1).join(str(elem) for elem in [datetime.now(), 'www.abc.com/' + str(i)])
Run Code Online (Sandbox Code Playgroud)
然后
python test.py > input
Run Code Online (Sandbox Code Playgroud)
我试图使用awk获取文件的第一列(时间戳).
cat input | awk 'FS="\x01"{print $1}'
2013-10-07
2013-10-07 10:40:14.171074
2013-10-07 10:40:14.171101
2013-10-07 10:40:14.171133
2013-10-07 10:40:14.171156
...
Run Code Online (Sandbox Code Playgroud)
不知何故,第一行在时间戳之后跳过了部分,任何人都知道我做错了什么.谢谢!
嗨,我正在关注在线课程,并尝试下载rda教授提供的数据集.
我尝试运行与类中提供的完全相同的命令:
download.file("https://dl.dropbox.com/u/7710864/courseraPublic/samsungData.rda", destfile="./samsungData.rda", method="curl")
load('./samsungData.rda')
Run Code Online (Sandbox Code Playgroud)
当我进入下载文件夹时,rda在vi中打开文件,这就是我所看到的:
<html>
<head><title>Found</title></head>
<body>
<h1>Found</h1>
<p>The resource was found at <a href="https://dl.dropboxusercontent.com/u/7710864/courseraPublic/samsungData.rda">https://dl.dropboxusercontent.com/u/7710864/courseraPublic/samsungData.rda</a>;
you should be redirected automatically.
<!-- --></p>
<hr noshade>
<div align="right">WSGI Server</div>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
显然,这里有一个重定向,下载文件命令没有巧妙地遵循它.当我在浏览器中打开该URL时,它将被成功重定向.
我看了一下帮助手册,download.file没有关注重定向的事情.
任何人都可以告诉我如何遵循重定向?
我有一个字符串,其中包含一些我想删除的字符.
a = "2,678"
print int(a.replace(",", ""))
Run Code Online (Sandbox Code Playgroud)
是否有一个字符串方法而不是函数来将该字符串更改为整数,类似于Java的toXXX方法.
我想继续一个接一个地附加方法,而不是将光标移回到字符串的开头并将它们放在一起.
# I like:
a.replace(",", "")....toint()
# I don't like:
int(a.replace(",", "")...)
Run Code Online (Sandbox Code Playgroud)
是否有一个方法让字符串类做我想要的?
我来自 Python 的世界。我只想获取正数并将非正数设置为零。在 Python 中:
>> a = [1,2,3,-1,-2, 0,1,-9]
>> [elem if elem>0 else 0 for elem in a]
[1, 2, 3, 4, 0, 0, 0, 1, 0]
Run Code Online (Sandbox Code Playgroud)
假设我在 R 中有一个向量,我怎样才能得到相同的结果。
a <- c(1,2,3,-1,-2, 0,1,-9)
Run Code Online (Sandbox Code Playgroud) 我有一个动物园元素列表.列表看起来像这样:
> str(a)
List of 4
$ :‘zoo’ series from 2013-08-08 to 2013-09-09
Data: num [1:33] 0 0 0 0 5.62 ...
Index: POSIXct[1:33], format: "2013-08-08" "2013-08-09" "2013-08-10" "2013-08-11" ...
$ :‘zoo’ series from 2013-08-08 to 2013-09-09
Data: num [1:33] 0 0 0 0 0 ...
Index: POSIXct[1:33], format: "2013-08-08" "2013-08-09" "2013-08-10" "2013-08-11" ...
$ :‘zoo’ series from 2013-08-08 to 2013-09-09
Data: num [1:33] 7.4 10.7 0 0 0 ...
Index: POSIXct[1:33], format: "2013-08-08" "2013-08-09" "2013-08-10" "2013-08-11" ...
$ :‘zoo’ …Run Code Online (Sandbox Code Playgroud) 假设我有一个遵循以下结构的文件夹:
$ ls /tmp/level1
level2_folder1 level2_folder2
$ ls /tmp/level1/level2_folder1
input output script.py ...
$ ls /tmp/level1/level2_folder2
input output script.py ...
Run Code Online (Sandbox Code Playgroud)
我想将所有Python脚本仅复制到其他地方但保留现有结构.假设我想将level1文件夹复制到home /所以它应该如下所示:
$ ls /home/level1
level2_folder1 level2_folder2
$ ls /home/level1/level2_folder1
script.py
$ ls /home/level1/level2_folder2
script.py
Run Code Online (Sandbox Code Playgroud)
我怎么能这样做?
我有一个如下所示的列表:
target = ['2', '3', '4', '5', '6', '7', '8', '9', '10', '...', '1458', 'Next']
Run Code Online (Sandbox Code Playgroud)
我想知道,是否有一个单行列表理解解决方案,以找到列表中的最高数字:
我试过了:
max([int(num) for num in text])
Run Code Online (Sandbox Code Playgroud)
...但似乎有些文本无法转换,除了列表理解之外没有尝试.
我只能接受一线解决方案,请
我的代码:
text = ['2', '3', '4', '5', '6', '7', '8', '9', '10', '...', '1458', 'Next']
print text
max = 0
for num in text:
try:
if int(num) > max:
max = int(num)
except:
pass
print max
Run Code Online (Sandbox Code Playgroud) 我有一个文件里面只有一行内容,但这行非常长.当我在Vi中打开它时,它会填满整个屏幕.
如何按字数或字节数移动光标,以便我可以看到下一个"页面"的内容.
我需要编写一个正则表达式来获取下面列表中的所有字符..(删除列表中没有的所有字符)
allow_characters = "#.-_abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789"
Run Code Online (Sandbox Code Playgroud)
我不知道怎么做,我应该使用re.match或re.findall还是re.sub ......?
非常感谢提前.