首页 > 解决方案 > 将由多字符分隔符分隔并用单引号括起来的文本数据读取到数据框中

问题描述

这是样本数据,

'id'|@|'name'|@|'sal'
'123'|@|'abvc'|@|'10000'
'234'|@|'dfgb'|@|'20000'

我需要在没有单引号的情况下将这些数据读入数据框

id   name  sal    
123  abvc  10000    
234  dfgb  20000   

但是我在阅读熊猫时用单引号获取数据。

import pandas as pd
 df=pd.read_csv(r"C:\test.txt",sep='\\|\@\\|',engine='python')

'id'    'name'    'sal'
'123'    'abvc'    '10000'
'234'    'dfgb'    '20000'

有人可以帮帮我吗

标签: python-3.xpandas

解决方案


一种方法是这样的:

dfw = pd.read_csv(r"c:/users/k_sego/weird.csv",sep="\|@\|")
dfw = dfw.replace(r"\'", '', regex=True)
df = dfw.rename(columns={"'id'": "id", "'name'": "name", "'sal'":"sal"})

这使

    id  name    sal
0  123  abvc  10000
1  234  dfgb  20000

推荐阅读