我使用熊猫打开原始数据
df=pd.read_cvs(file)
这是我的数据框的一部分,如下所示:
37280 7092|156|Laboratory Data|A648C751-A4DD-4CZ2-85
47981 7092|156|Laboratory Data|Z22CD01C-8Z4B-4ZCB-8B
57982 7092|156|Laboratory Data|C12CE01C-8F4B-4CZB-8B
我想将所有管道(
'|'
)替换为选项卡('\t'
)所以我尝试了:
df.replace('|','\t')
但它永远都行不通。我该怎么办?
非常感谢!
最佳答案
默认情况下,数据框上的replace
方法用于替换与提供的字符串完全匹配的值;您需要指定regex=True
来替换模式,并且由于|
是正则表达式中的特殊字符,因此需要在此处进行转义:
df1 = df.replace("\|", "\t", regex=True)
df1
# 0 1
#0 37280 7092\t156\tLaboratory Data\tA648C751-A4DD-4CZ2-85
#1 47981 7092\t156\tLaboratory Data\tZ22CD01C-8Z4B-4ZCB-8B
#2 57982 7092\t156\tLaboratory Data\tC12CE01C-8F4B-4CZB-8B
如果我们打印单元格,则按预期方式打印选项卡:
print(df1[1].iat[0])
# 7092 156 Laboratory Data A648C751-A4DD-4CZ2-85