小编Pyd*_*man的帖子

用Python在YYYY-MM-DD中获取今天的约会对象?

我正在使用:

str(datetime.datetime.today()).split()[0]
Run Code Online (Sandbox Code Playgroud)

YYYY-MM-DD的形式返回今天的日期.

是否有一种不那么粗暴的方法来实现这一目标

python datetime python-2.7 python-datetime

238
推荐指数
9
解决办法
33万
查看次数

从Python中的单元素列表中仅获取元素?

当已知Python列表始终包含单个项目时,是否可以访问它而不是:

mylist[0]
Run Code Online (Sandbox Code Playgroud)

你可能会问,'你为什么要这样?'.仅好奇心.似乎有另一种方法可以在Python中完成所有工作.

python list python-2.7 python-3.x iterable-unpacking

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

如何按最新修改日期按时间顺序对"grep -l"的输出进行排序?

我正在使用-l标志和grep来打印匹配的文件名.

我想按升序列出结果(文件),即最新的.

明显

grep -l <pattern> *.txt | ls -rt
Run Code Online (Sandbox Code Playgroud)

不是我需要的,因为ls -lrt只输出所有文件.

unix linux grep

25
推荐指数
3
解决办法
3万
查看次数

如何在 Python 中“原始文本”变量?

我正在打开一本工作簿openpyxl

wb = load_workbook(r'seven.xlsx', data_only=True)
Run Code Online (Sandbox Code Playgroud)

电子表格的名称并不总是事先知道,所以我需要重写这个硬编码以允许一个变量,同时仍然保持r?

如果我的变量名是 sheet,那么:

wb = load_workbook(sheet, data_only=True)
Run Code Online (Sandbox Code Playgroud)

将省略r.

显然我不能这样做:

wb = load_workbook(r'sheet', data_only=True)
Run Code Online (Sandbox Code Playgroud)

我们如何实现 r 到变量的前置/我们如何将 vriable 包装在其中r''

python string rawstring python-2.7

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

SPSS文件(.sav)通过rpy导入pandas时如何保留标签?

我正在寻找使用SPSS文件(.sav)pandas.在没有SPSS程序的情况下,这是转换为.csv时典型文件的样子:

在此输入图像描述

在调查前两行的含义(我不知道SPSS)时,似乎第一行包含Labels,而第二行包含VarNames.

在此输入图像描述

当我将文件带入熊猫时:

import pandas.rpy.common as com

def savtocsv(filename):
    w = com.robj.r('foreign::read.spss("%s", to.data.frame=TRUE)' % filename)
    w = com.convert_robj(w)
    return w
Run Code Online (Sandbox Code Playgroud)

然后执行head(),第一行(Label)丢失:

在此输入图像描述

如何维护标签?

python r spss rpy2 pandas

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

Python列表 - 真/假前两个元素?

在发布此问题后经过一些试验和错误,我观察到以下现象:

>>> [1,2][True]
2
>>>>[1,2][False]
1
>>>>[1,2,3][True]
2
Run Code Online (Sandbox Code Playgroud)

如果我添加第三个或后续元素,则无效.

有人能指出我对这些观察的解释吗?我认为这是与任何Python列表中前两个元素相关的一般属性?

谢谢

python arrays list

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

我可以相信每次迭代时dict的顺序保持不变吗?

我有以下三个字符串(它们独立存在,但为方便起见,这里一起显示):

from mx2.x.org (mx2.x.org. [198.186.238.144])
            by mx.google.com with ESMTPS id g34si6312040qgg.122.2015.04.22.14.49.15
            (version=TLSv1 cipher=ECDHE-RSA-RC4-SHA bits=128/128);
            Wed, 22 Apr 2015 14:49:16 -0700 (PDT)

from HQPAMAIL08.x.org (10.64.17.33) by HQPAMAIL13.x.x.org
 (10.34.25.11) with Microsoft SMTP Server (TLS) id 14.2.347.0; Wed, 22 Apr
 2015 17:49:13 -0400

from HQPAMAIL13.x.org ([fe80::7844:1f34:e8b2:e526]) by
 HQPAMAIL08.iadb.org ([fe80::20b5:b1cb:9c01:aa86%18]) with mapi id
 14.02.0387.000; Wed, 22 Apr 2015 17:49:12 -0400
Run Code Online (Sandbox Code Playgroud)

我希望根据字符串的反转(从下到上)顺序填充一些带有某些值的字典.具体来说,对于每个字符串,我将IP地址提取为排序索引,然后将完整字符串作为值.

鉴于顺序很重要,我决定使用列表,并且最初做了类似的事情(伪代码,带有上面的一堆文本):

IPs =[]
fullStrings =[]
for string in strings:
    IPs.append[$theIpAddressFoundInTheString]
    fullstrings.append[$theWholeString]
Run Code Online (Sandbox Code Playgroud)

产生以下两个列表(再次,只是一个例子):

IPs ['198.186.238.144', '10.64.17.33', 'fe80::7844:1f34:e8b2:e526']

fullstrings ['from mx2.x.org (mx2.x.org. [198.186.238.144])
                by mx.google.com …
Run Code Online (Sandbox Code Playgroud)

python iteration dictionary list

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

正则表达式:匹配IP地址,除非前面有某些字符?

这个正则表达式([a-z0-9]{1,4}:+){3,5}[a-z0-9]{1,4}|\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3几乎完成了匹配IP地址(v4和v6)的工作,而不幸的是,对于下面的文本和类似的文本,它也会以粗体显示字段:


来自mail.example.com(example.com.[213.239.250.131])by mx.google.com,ESMTPS id为xc4si15480310lbb.82.2 014.10.26.06 .16.58 for(version = TLSv1.2 cipher = ECDHE-RSA-AES128-GCM -SHA256位= 128/128); 太阳,2014年10月26日06:16:58 -0700(PDT)

收到:来自ssservices1-1(192.168.20.142)的mail.supershuttle.com(192.168.20.110),带有Microsoft SMTP Server id 14.2.347.0 ; 2015年4月21日星期二

收到:来自ssservices1-1(192.168.20.142)的mail.supershuttle.com(192.168.20.110),带有Microsoft SMTP(TLS)服务器ID 14.2.347.0 ; 2015年4月21日星期二

接收:从plug.mysitehosted.com(plug.mysitehosted.com [10.248.1.153])(使用的TLSv1与密码DHE-RSA-AES256-SHA)由0.0.0.0:2500(TREX/5.0.19); 星期二,2014年3月11日06:14:03 GMT


省略这些匹配的最佳方法(我将使用Python)是什么?两个前面是文本'id',但在第一种情况下,不是直接在它之前.

python regex

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

如何在Python中加载最初具有.xls文件扩展名的xlsx?

我正在使用xlrd处理.xls文件,并openpyxl处理.xlsx文件,这很好用.

然后我交给了表面上是.xls文件的东西,所以我尝试着xlrd.open_workbook(),得到:

XLRDError: Unsupported format, or corrupt file: Expected BOF record; found '<?xml ve'
Run Code Online (Sandbox Code Playgroud)

我看一下这个问题,我猜测我的文件虽然以扩展名.xls结尾,但实际上必须是.xlsx.事实上,我可以在文本编辑器中查看它:

<?xml version="1.0" encoding="UTF-8"?>
                      <Workbook xmlns="urn:schemas-microsoft-com:office:spreadsheet"
                       xmlns:x="urn:schemas-microsoft-com:office:excel"
                       xmlns:ss="urn:schemas-microsoft-com:office:spreadsheet"
                       xmlns:html="http://www.w3.org/TR/REC-html40">
:
:
:
Run Code Online (Sandbox Code Playgroud)

(出于隐私原因,我无法发布整个文件,但我们的分析可能不需要).

所以我猜测,如果我只是将cp它复制(.)到.xlsx,我应该可以打开它openpyxl.load_workbook(),但我得到:

BadZipfile: File is not a zip file
Run Code Online (Sandbox Code Playgroud)

如果它实际上是一个xls(不太可能)但是无法打开xlrd,并且如果它是一个非常的xlsx但是无法打开openpyxl,即使我将cp它转换为.xlsx,该怎么办?

注意:如果我在Excel中打开.xls,将其保存为.xlsx,然后重试openpyxl,它确实可以正常加载,但是这个手动步骤并不是我执行程序时的奢侈.

python xlrd excel-2010 python-2.7 openpyxl

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

如何使用 Python 正式插入 URL 空间(%20)?

当在 ebay 中输入多词搜索词时,结果 URL 类似于(例如“demarini cf5 cf12”):

http://www.ebay.com/sch/i.html?_from=R40&amp;_sacat=0&amp;_nkw=demarini%20cf5%20cfc12
Run Code Online (Sandbox Code Playgroud)

我希望用 Python 构建这个 URL,以便可以直接访问它。所以这是连接基本 URL 的情况:

http://www.ebay.com/sch/i.html?_from=R40&amp;_sacat=0&amp;_nkw=
Run Code Online (Sandbox Code Playgroud)

...与搜索词。马上。我正在%20为空格添加 ,因此:

baseUrl = 'http://www.ebay.com/sch/i.html?_from=R40&amp;_sacat=0&amp;_nkw='
searchTerm = 'demarini cf5 cf12'
searchTerm = ('%20').join(searchTerm.split(' '))
finalUrl = baseUrl + searchTerm
Run Code Online (Sandbox Code Playgroud)

在 Python 中执行此操作的更正式方法是什么?我相信这种任务的名称是 URL 编码?

python url urllib urllib2 url-encoding

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