小编Pyd*_*man的帖子

正则表达式:为什么在re.findall()中包含空字符串(在元组列表中)?

根据这里的模式匹配,匹配是213.239.250.131014.10.26.06.

然而,当我运行生成的Python代码并打印出值时re.findall(p, test_str),我得到:

[('', '', '213.239.250.131'), ('', '', '014.10.26.06')]
Run Code Online (Sandbox Code Playgroud)

我可以在列表中乱砍,它可以获取我正在寻找的值(IP地址),但是(i)它们可能并不总是在元组中处于相同的位置而且(ii)我宁愿理解什么是继续这里,所以我可以收紧正则表达式,或者使用Python自己的re功能只提取IP地址.

为什么我会得到这个元组列表,为什么明显的空白匹配,以及我们如何确保只返回IP地址?

python regex

5
推荐指数
1
解决办法
3873
查看次数

Webdriver:当类名包含空格时如何查找元素?

这里的每个“7-pack”搜索结果包含许多评论,例如“5 个评论”、“没有评论”等。

每个的类名是fl r-iNTHbQvDybDU. 它包含一个空格,所以如果我尝试 find_elements_by_class_name(),我得到:

InvalidSelectorError: Compound class names not permitted
Run Code Online (Sandbox Code Playgroud)

根据此处的其他答案,我需要做的就是删除空间并重试。没有运气 - 一个空列表

所以我尝试find_element_by_css_selector()

find_elements_by_css_selector(".fl.r-iNTHbQvDybDU")
Run Code Online (Sandbox Code Playgroud)

仍然没有运气 - 空列表。你接下来会尝试什么?

css python webdriver python-2.7 selenium-webdriver

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

如何将Python分割为一个角色但仍保留该角色?

通常会显示Google地图结果:

在此输入图像描述

'\n113 W 5th St\nEureka, MO, United States\n(636) 938-9310\n'
Run Code Online (Sandbox Code Playgroud)

另一种变化:

在此输入图像描述

'Clayton Village Shopping Center, 14856 Clayton Rd\nChesterfield, MO, United States\n(636) 227-2844'
Run Code Online (Sandbox Code Playgroud)

而另一个:

在此输入图像描述

'Wildwood, MO\nUnited States\n(636) 458-7707'
Run Code Online (Sandbox Code Playgroud)

请注意\n字符位置的变化.

我想要提取前X行作为地址,最后一行作为电话号码.像(.*\n.*)\n(.*)第一个例子那样的正则表达式就足够了,但是对于其他两个例子而言则不够.我唯一可以依赖的是电话号码将在表格中(ddd) ddd-dddd.

我认为一个允许每一种可能变化的正则表达式很难得到.是否可以使用split(),但保持我们分裂的角色?那么在这个例子中,拆分"(",分割出地址和电话号码,但是在电话号码中保留这个字符?我可以连接到"("后面split("(")[1],但是有一个更简洁的方式吗?

python regex split newline python-2.7

5
推荐指数
1
解决办法
125
查看次数

循环遍历csv.DictReader行不止一次

我打开一个文件并阅读它csv.DictReader.我迭代了两次,但第二次没有打印.为什么这样,我怎样才能使它工作?

with open('MySpreadsheet.csv', 'rU') as wb:
    reader = csv.DictReader(wb, dialect=csv.excel)
    for row in reader:
        print row

    for row in reader:
        print 'XXXXX'

# XXXXX is not printed
Run Code Online (Sandbox Code Playgroud)

python csv

5
推荐指数
1
解决办法
3197
查看次数

如何在不丢失公式的情况下保存在openpyxl中?

因为我需要解析然后使用单元格中的实际数据,所以我openpyxldata_only = True.

事实证明,这非常有用。但是,现在同样需要在单元格中包含公式的 xlsm,当我保存更改时,保存的版本中缺少公式。

data_only = True和公式相互排斥?如果没有,如何在保存时访问单元格中的实际值而不会丢失公式?

当我说我丢失了公式时,似乎公式的结果(总和、串联等)得到了保留。但是当单击单元格时不再显示实际的公式本身。

更新:

为了确认公式是否被保留,我重新打开了保存的 xlsm,这次data_only左为False. 我检查了value使用公式构建的单元格的 。如果保留了公式,打开将 data_only 设置为 False 的 xlsm 应该会返回公式。但它返回实际的文本值(这不是我想要的)。

python python-2.7 openpyxl

5
推荐指数
1
解决办法
4964
查看次数

如何通过可变数量的字符扩展固定长度的Python列表?

(如果有人可以提出更好的标题,请务必继续编辑).

给定一个list list1,其确切长度未知但已知它将始终小于或等于5,我正在寻找一个单独的空列表list 2,固定长度为5,其值为list1,填充为空如果list2的大小小于5 ,则为字符串.

例如,如果list1 = [1,2,3]

那么list2应该是[1,2,3,'','']

等等.

所以:

if len(list1) < 5:
    list2.extend(list1)
    # at this point, I want to add the empty strings, completing the list of size 5
Run Code Online (Sandbox Code Playgroud)

实现这一目标的最佳方法是什么(确定要添加多少空字符串)?

python list python-2.7

5
推荐指数
1
解决办法
830
查看次数

wxPython通过py2app:"没有合适的64位架构"错误,即使32位偏好设置

在OS X Lion上安装了wxPython(最新版本)后,尝试import wx使用解释器会导致:

  File "wx/__init__.pyc", line 45, in <module>
  File "wx/_core.pyc", line 4, in <module>
  File "wx/_core_.pyc", line 18, in <module>
  File "wx/_core_.pyc", line 11, in __load
ImportError: /Users/Pyderman/Downloads/e30356784638/dist/Program.app/Contents/Resources/lib/python2.6/lib-dynload/wx/_core_.so: no appropriate 64-bit architecture
Run Code Online (Sandbox Code Playgroud)

所以按照给出的说明man python,我设置:

export VERSIONER_PYTHON_PREFER_32_BIT=yes
Run Code Online (Sandbox Code Playgroud)

然后导入wx工作(在解释器中).然而,当我使用py2app将程序捆绑到OS X应用程序时,错误重新出现,即使我尝试在同一个终端中启动应用程序,我已将环境变量设置为更喜欢32位.

我猜不知道py2app不知道32位是首选吗?但是如何实施,以及如何实施或控制?

python wxpython python-import py2app python-2.7

5
推荐指数
1
解决办法
257
查看次数

Pandas DataFrame的重音字符在Excel中出现乱码

附:

# -*- coding: utf-8 -*-
Run Code Online (Sandbox Code Playgroud)

在我的.ipynb顶部,Jupyter现在正确显示重音字符.

当我导出到csv(with .to_csv())pandas包含重音字符的数据框时:

在此输入图像描述

...在Excel中打开csv时,字符无法正确呈现.

在此输入图像描述

无论我是否设置都是这种情况encoding='utf-8'.pandas/python是否可以在这里完成所有这些,这是一个Excel问题?或者可以在导出到csv之前完成某些事情?

  • Python:2.7.10
  • 熊猫:0.17.1
  • Excel:Excel for Mac 2011

python csv excel non-ascii-characters pandas

5
推荐指数
2
解决办法
2325
查看次数

使用熊猫系列中前一个"行"的值

我有一个看起来像这样的CSV(当带入一个pandas Dataframe时 read_csv(),它看起来一样).

在此输入图像描述

我想根据以下逻辑更新列ad_requests中的值:

对于给定的行,如果ad_requests具有值,请不管它.否则,把它的值上一行对价值AD_REQUESTS减去前行的价值为印象.所以在第一个例子中,我们希望最终得到:

在此输入图像描述

我部分到了那里:

df["ad_requests"] = [i if not pd.isnull(i) else ??? for i in df["ad_requests"]]
Run Code Online (Sandbox Code Playgroud)

这就是我陷入困境的地方.之后else,我想"回去"并访问前一个"行",但我知道这不是大熊猫的意思.另外需要注意的是,行总是按行ad_tag_name分组为三个.如果我pd.groupby["ad_tag_name"],我可以把它变成一个list并开始切片和索引,但同样,我认为必须有更好的方法在熊猫中做到这一点(因为有很多东西).

Python:2.7.10

熊猫:0.18.0

python dataframe python-2.7 pandas elementwise-operations

5
推荐指数
1
解决办法
2519
查看次数

根据列表项的索引模数执行不同的操作

对于给定的列表,我希望:

  1. 对于第一个元素,然后每个第3个后续元素(索引3,6等),什么也不做
  2. 从第二个元素(索引1)开始,然后每3个元素(索引4,7等)开始,执行某个操作
  3. 从第三个元素(索引2)开始,然后每3个元素(索引5,8等)开始,执行不同的操作

我可以使用组合range(len(mylist))::符号来逐步切片列表:

1::3 will give me the elements at indices 1, 4, 7, 10 etc.

::2 will give me the elements at indices 0, 2, 4, 6 etc.
Run Code Online (Sandbox Code Playgroud)

但这里有一些问题:

  • 例如,我不需要访问元素6
  • 两个切片之间存在一些重叠
  • 缺少5个指数

Python是否为自定义逐步切片提供了内置机制?FWIW,我实际上正在处理一个大熊猫(版本0.18.0)系列,我刚刚使用了常规列表的例子以便于解释.

python list slice python-2.7 pandas

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