我试图使用 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标准库,是否可以确定给定网址应使用HTTP还是HTTPS?如果您使用HTTP://.com访问网站,是否存在标准错误代码,说“嘿,假人”应该是“ HTTPS”而不是http?
谢谢
是否可以在不使用熊猫的情况下创建日历热图?如果是这样,有人可以发一个简单的例子吗?
我有8月16日的日期和16的计数值,我认为这将是一种快速简便的方法,可以显示很长一段时间内天数的强度.
谢谢
我有一个问题,我们在公司级别设置了一个NTLM代理,但我们有一些我们不拥有的代码不支持NTLM代理.有没有办法创建一个代理来自动传递使用Python所需的NTLM信息?
当脚本在给定时间运行时,我希望能够根据需要直立代理.
这可能吗?任何人都可以提供如何做到这一点的样本吗?样本可以在Python 3.4或2.7中给出.
谢谢阅读!
我有一个带有空/空值的数据框。
通过执行以下操作,我可以轻松获取空值每一行的计数:
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'
我有一个巨大的XML文件,我对如何处理它有点不知所措.它是60 GB,我需要阅读它.
我在想是否有办法使用多处理模块来读取python文件?
有没有人有这样做的样本,他们可以指点我?
谢谢
输入模块是早期版本 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 在类上创建一个属性,但我根本没有看到这种情况发生。
向后移植代码有什么问题?
我想扩展绘图函数以将自定义绘图函数与现有的 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)
谢谢
在boto3中,有一个generate函数可以生成预签名url,但是它们超时了。请参阅:http ://boto3.readthedocs.io/en/latest/reference/services/s3.html#S3.Client.generate_presigned_url
有没有办法创建不会过期的非预签名 URL?
我有两个像这样定义的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)
我需要找到以下信息:
为了找到行中的变化,我想我可以查看df2并检查df1,但这似乎很慢,所以我希望在那里找到更快的解决方案.
对于其他两个操作,我真的不知道该怎么做,因为当我尝试比较我得到的两个数据帧时:
ValueError: Can only compare identically-labeled DataFrame objects
熊猫版:'0.16.1'
建议?