我需要帮忙清理数据。我如何使语言列(D)在(F)栏中变成形式--基本上就是去掉括号和撇号,并保存每种语言之间的逗号。它既可以使用python,也可以使用excel本身,谢谢!
我试着用谷歌搜索,但没起作用
发布于 2022-03-28 04:26:24
您可以使用熊猫将csv读入一个dataframe中,然后将一个函数“应用”到这样的列中:
def clean(value: str) -> str:
for c in "[']":
value = value.replace(c, "")
return value
值得注意的是,如果去掉括号,就会有一个“嵌入式”分隔符,这意味着您将无法将其保存为"csv“,而不会有一些麻烦。
如果您想在Excel中清理它,您可以添加一个公式(类似于我上面的公式),将所有不需要的字符替换为空字符串,如下所示:
=SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(D2,"'",""),"[",""),"]","")
*其中D2是第一语言单元格
FWIW,我也会花几分钟在熊猫上玩这个--学到一种新的技能总是很好的
发布于 2022-03-28 04:27:34
根据图像,列'D‘中的数据类型似乎是一个元素列表,因此,当写入单元格时,方括号被包括在内。
它们是处理这一问题的一个简单技巧:在遍历列和行(基本上是单元格)时,只需在连接前面运行一个列表理解,如下所示
''.join[_val for _val in str(_cell_val) if str(_val) not in ['[', ']', '\'']
使用列表理解搜索列表到str转换,您应该有足够的样本。
https://stackoverflow.com/questions/71642292
复制相似问题