小编cod*_*000的帖子

使用python 3提取7z文件

我试图使用 python 解压缩 7z 文件,但我似乎无法弄清楚。我想我可以在 python 3 中使用 lzma 模块,但我似乎无法弄清楚:

我认为它会像 zipfile 包一样工作:

import lzma
with lzma.open('data.7z') as f:
    f.extractall(r"<output path>")
Run Code Online (Sandbox Code Playgroud)

但在阅读文件后,似乎没有。所以这是我的问题:如何使用标准包提取 7z 文件?我不想调用 subprocess 来使用 7-zip 解压缩文件,因为我不能保证用户安装了这个软件。

我搜索了互联网和堆栈 oerflow 并注意到所有答案几乎都回到使用子处理上,我想像瘟疫一样避免这种情况。

虽然在 stackoverflow 上也有类似的问题,但答案仍然取决于 7-zip 或 7zip SDK。我不想使用 7-zip sdk/exe 进行提取,因为这假设用户已安装该软件。

这是 7z 文件中的属性:

在此处输入图片说明

python 7zip lzma python-3.x

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

Python,检测是一个URL,必须为HTTPS vs HTTP

使用python标准库,是否可以确定给定网址应使用HTTP还是HTTPS?如果您使用HTTP://.com访问网站,是否存在标准错误代码,说“嘿,假人”应该是“ HTTPS”而不是http?

谢谢

https http urllib urllib2 python-2.7

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

Matplotlib和Numpy - 创建日历热图

是否可以在不使用熊猫的情况下创建日历热图?如果是这样,有人可以发一个简单的例子吗?

我有8月16日的日期和16的计数值,我认为这将是一种快速简便的方法,可以显示很长一段时间内天数的强度.

谢谢

python numpy matplotlib python-2.7

6
推荐指数
4
解决办法
5726
查看次数

使用Python创建代理以将NTLM凭据传递给另一个代理

我有一个问题,我们在公司级别设置了一个NTLM代理,但我们有一些我们不拥有的代码不支持NTLM代理.有没有办法创建一个代理来自动传递使用Python所需的NTLM信息?

当脚本在给定时间运行时,我希望能够根据需要直立代理.

这可能吗?任何人都可以提供如何做到这一点的样本吗?样本可以在Python 3.4或2.7中给出.

谢谢阅读!

python proxy python-2.7 python-3.x

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

在每一行中列出数据框为空/空的列名称

我有一个带有空/空值的数据框。
通过执行以下操作,我可以轻松获取空值每一行的计数:

df['NULL_COUNT'] = len(df[fields] - df.count(axis=1)
Run Code Online (Sandbox Code Playgroud)

这将放置NULL字段中的列数NULL_COUNT

如果为空,是否可以用相同的方式将列标题写入另一个字段?

df['NULL_FIELD_NAMES'] = "<some query expression>"
Run Code Online (Sandbox Code Playgroud)

例:

df = pd.DataFrame([range(3), [0, np.NaN, 0], [0, 0, np.NaN], range(3), range(3)], columns=['A', 'B', 'C'])
Run Code Online (Sandbox Code Playgroud)

在上面的df中,第二行应具有df['NULL_FIELD_NAME'] = 'B',第三行应具有df['NULL_FIELD_NAME'] = 'C'

python dataframe pandas

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

使用多处理解析非常大的XML文件

我有一个巨大的XML文件,我对如何处理它有点不知所措.它是60 GB,我需要阅读它.

我在想是否有办法使用多处理模块来读取python文件?

有没有人有这样做的样本,他们可以指点我?

谢谢

python xml multiprocessing

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

在 Python 2.7 中使用输入模块

输入模块是早期版本 Python 的后向端口,用于推断输入和输出数据类型。我在让它在 Python 2.7 中工作时遇到问题。

import typing
def greeting(name): # type: (str) -> str
    """documentations"""
    return ('Hello ' + name)
print(greeting.__annotations__) # fails because doesn't exist.
Run Code Online (Sandbox Code Playgroud)

我也试过这个:

import typing
def greeting(name # type: str
             ):
    # type: (...) -> str
    """documentations"""
    return ('Hello ' + name)
Run Code Online (Sandbox Code Playgroud)

和这个:

import typing

def greeting(name):
    # type: (str) -> str
    """documentations"""
    return ('Hello ' + name)
Run Code Online (Sandbox Code Playgroud)

这应该__annotations__根据 PEP484 在类上创建一个属性,但我根本没有看到这种情况发生。

向后移植代码有什么问题?

python python-2.7

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

在 Pandas DataFrame 上扩展绘图

我想扩展绘图函数以将自定义绘图函数与现有的 pandas 绘图函数结合使用。做这个的最好方式是什么?

如果我覆盖plot()我就失去了正确使用旧功能的能力?或者有什么方法我仍然可以调用旧的绘图函数?

更新

我可以使用 super() 来调用父类,它看起来工作得很好。如果这是一个不好的解决方案,请发布答案!

import pandas as pd
class CustomDataFrame(pd.DataFrame):
    def plot(self, *args, **kwargs):
        if 'kind' in kwargs and \
           kwargs['kind'].lower() == 'dotmapplot':
           return _custom_plot(*args, **kwargs)
        else: 
          super(CustomDataFrame, self).plot(*args, **kwargs)
Run Code Online (Sandbox Code Playgroud)

谢谢

python pandas

5
推荐指数
0
解决办法
186
查看次数

boto3 创建不过期 URL

在boto3中,有一个generate函数可以生成预签名url,但是它们超时了。请参阅:http ://boto3.readthedocs.io/en/latest/reference/services/s3.html#S3.Client.generate_presigned_url

有没有办法创建不会过期的非预签名 URL?

python python-2.7 boto3

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

比较两个熊猫数据框架

我有两个像这样定义的pandas数据帧:

_data_orig = [
    [1, "Bob", 3.0],
    [2, "Sam", 2.0],
    [3, "Jane", 4.0]
]
_columns = ["ID", "Name", "GPA"]

_data_new = [
        [1, "Bob", 3.2],
        [3, "Jane", 3.9],
        [4, "John", 1.2],
        [5, "Lisa", 2.2]
    ]
_columns = ["ID", "Name", "GPA"]

df1 = pd.DataFrame(data=_data_orig, columns=_columns)
df2 = pd.DataFrame(data=_data_new, columns=_columns)
Run Code Online (Sandbox Code Playgroud)

我需要找到以下信息:

  • 查找删除,其中df1是原始数据集,df2是新数据集
  • 我需要找到两者之间现有记录的行更改.示例ID == 1应比较df2的ID == 1,以查看是否为每行更改了任何列值.
  • 找到df2 verse df1的任何添加内容.返回示例[4,"John",1.2]和[5,"Lisa",2.2]

为了找到行中的变化,我想我可以查看df2并检查df1,但这似乎很慢,所以我希望在那里找到更快的解决方案.

对于其他两个操作,我真的不知道该怎么做,因为当我尝试比较我得到的两个数据帧时:

ValueError: Can only compare identically-labeled DataFrame objects

熊猫版:'0.16.1'

建议?

python numpy pandas

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