我的KBs.csv文件:
OS Version,Patch
Server 2019,"['KB4523205', 'KB4519569', 'KB4503308']"
然后我读到:
import pandas as pd
df = pd.read_csv('KBs.csv')
df
OS Version Patch
0 Server 2019 ['KB4523205', 'KB4519569', 'KB4503308']
令人惊讶的是,当我试图从列表中的任何位置获取数据时,我得到了以下结果:
df['Patch'][0][0]
OUT : '['
如果我尝试构建日期框手册:
dfeo = pd.DataFrame({'OS Version': ['Server 2019'],'Patch': [['KB4523205','KB4519569','KB4503308']]})
dfeo
OS Version Patch
0 Server 2019 [KB4523205, KB4519569, KB4503308]
dfeo['Patch'][0][0]
OUT : 'KB4523205'
这是我正在寻找的行为,csv文件必须如何格式化才能获得它?
非常感谢你@Chris,是的,你是对的@Trenton这是我要找的“来自ast import literal_eval”
这是完整的代码,它检查了windows sysop上线所需的最小补丁
import pandas as pd
from ast import literal_eval
df = pd.read_csv('KBs.csv', converters={'Patch': literal_eval})
#最小安全补丁2020
w2012 = ['KB4534288', 'KB4537794', 'KB4540694', 'KB4550971', 'KB4556852', 'KB4561674', 'KB4565535']
w2012R2 = ['KB4534309', 'KB4537803', 'KB4541505', 'KB4550970', 'KB4556853', 'KB4561673', 'KB4565540']
w2016 = ['KB4534271', 'KB4537764', 'KB4540670', 'KB4550929', 'KB4556813', 'KB4561616', 'KB4565511']
w2019 = ['KB4561608', 'KB4558998' ]
#“操作系统版本”列的链接
d = {'Server 2019': w2019, 'Server 2016': w2016, 'Server 2012 R2': w2012R2, 'Server 2012': w2012}
#比较
for k, v in d.items():
m = df['OS Version'].eq(k)
df.loc[m, 'NoPatch'] = df.loc[m, 'Patch'].apply(lambda x: list(set(v) - set(x)))
df
Enterprise Service Host OS Version Patch NoPatch
0 Toto Marketing consolamig Server 2019 [KB4523205, KB4519569, KB4503308, KB4499728, K... [KB4558998, KB4561608]
1 Toto Marketing dc01 Server 2016 [KB4525236, KB4485447, KB4520724, KB3192137, K... [KB4540670, KB4561616, KB4537764, KB4534271, K...
2 Toto Marketing duedil01 Server 2012 R2 [KB2920189, KB3103616, KB3045755, KB3161949, K... [KB4565540, KB4556853, KB4541505, KB4550970, K...
3 Toto Marketing win-4ea3 Server 2012 R2 [KB2939471, KB2919355, KB2938772, KB2999226, K... [KB4565540, KB4556853, KB4541505, KB4550970, K...
再次感谢
问题内容: 我有一个列表列表,我想将其写入csv文件中。示例列表: data [0]应该是列名,其他都是行数据 请给我建议一种方法。 问题答案: 这与模块无关紧要: 您已经具有标题作为第一行;您可以使用该方法一次性写入所有行。真的,这就是全部。
问题内容: 我想将一些查询提取为CSV输出格式。不幸的是,我无法使用任何高级SQL客户端或任何语言来执行此操作。我必须使用SQLPLUS。 我该怎么做? 问题答案: 如果您使用的是12.2,则可以简单地说
我想拆分JSON格式列结果在火花数据帧: Hive中的allrules_internal表: 代码: 这里我想拆分列值。从上面的例子中,我想保留“document_id,comments”部分。换句话说,条件列有一个键/值对,但我只想要值部分。 如果表中有多行,如何拆分值。
我正在处理非常大的.csv文件,并且正在尝试查找文件中的行数以及其他事情,例如解析为json等。 我的问题是如何克服csv库的限制,因为我不断收到以下错误。 我提供了一个在python3中工作的示例程序,它将返回csv文件中的行数。 但是,当运行1.5GB csv文件时,我仍然会收到这个错误。 在这个问题上所做的任何工作都是非常值得赞赏的。谢谢!
我需要在我的网站上集成英里/距离搜索,我正在使用MongoDB地理空间索引,然而,我得到了一些,无法解决。下面是我使用的模式和命令... 下面是我的索引... 然而,当我在mongo shell中运行following命令时,我得到了一个错误······ 错误:
我是python新手。我在使用csv文件时遇到问题。这是一个有12行标题的文件,在开始数据之后。我必须从列中读取一些数据(这是可以的),在详细说明之后,我必须向同一文件中添加一列,每行中都有一个值,但第一列中没有任何id,该列必须从第13行开始,而不是从第一行开始。 我试过用熊猫图书馆但不管用 其中,package是列的名称(但我也知道索引),package是字符串数组(我必须编写的元素)。这段代