python - 将熊猫系列(带字符串)转换为 python 列表
问题描述
这可能是一件愚蠢的事情,但我似乎无法正确地将最初从 Excel 工作表获得的熊猫系列转换为列表。
dfCI 是通过从 Excel 工作表中导入数据创建的,如下所示:
tab var val
MsrData sortfield DetailID
MsrData strow 4
MsrData inputneeded "MeasDescriptionTest", "SiteLocTest", "SavingsCalcsProvided","BiMonthlyTest"
# get list of cols for which input is needed
cols = dfCI[((dfCI['var'] == 'inputneeded') & (dfCI['tab'] == 'MsrData'))]['val'].values.tolist()
print(cols)
>> ['"MeasDescriptionTest", "SiteLocTest", "SavingsCalcsProvided", "BiMonthlyTest"']
# replace null text with text
invalid = 'Input Needed'
for col in cols:
dfMSR[col] = np.where((dfMSR[col].isnull()), invalid, dfMSR[col])
但是,当我将 cols 从系列转换为列表时添加的第二组(单)引号使所有列成为单个值,以便
col = '"MeasDescriptionTest", "SiteLocTest", "SavingsCalcsProvided", "BiMonthlyTest"'
cols 的期望输出是
cols = ["MeasDescriptionTest", "SiteLocTest", "SavingsCalcsProvided", "BiMonthlyTest"]
我究竟做错了什么?
解决方案
获得col
后,您可以将其转换为预期的输出:
In [1109]: col = '"MeasDescriptionTest", "SiteLocTest", "SavingsCalcsProvided", "BiMonthlyTest"'
In [1114]: cols = [i.strip() for i in col.replace('"', '').split(',')]
In [1115]: cols
Out[1115]: ['MeasDescriptionTest', 'SiteLocTest', 'SavingsCalcsProvided', 'BiMonthlyTest']
推荐阅读
- flutter - Flutter Widget 在其中一项属性更改后重建
- python - 一个数字如何代表一种颜色?
- python - 在 OSMnx 中使用非 OSM 数据
- javascript - 可以等待点击事件完成吗?
- ajax - 如何在 laravel 和 ajax 中使用 select 2 进行搜索?
- javascript - 有没有办法让一个多维数组对象与某些规则并排?
- pycharm - Pycharm:如何在它存在的函数范围内重命名(重构,重命名)变量或参数
- mongodb - 无法填充猫鼬
- node.js - 复制 err 对象后,error.name 未定义
- xcode - 添加 Realm DB 后项目大小增加到 716 MB