首页 > 解决方案 > 错误:需要类似字节的对象,而不是 pd.read_csv 上的“str”

问题描述

我有以下代码可以将 txt 文件读取为 CSV

validationColumns='column1|column2'
headerColumns = validationColumns.split("|")
rawData = subprocess.check_output( 'sshpass -p \'pass\' ssh -o StrictHostKeyChecking=no user tail -n +1 /var/prod/archive/new.txt | awk \'NR==1, NR==35\'', shell=True).decode('utf-8')
df = pd.read_csv(io.BytesIO(rawData), encoding='utf8', sep='|', usecols=headerColumns, quotechar="~")

但是我得到了错误,例如需要类似字节的对象,而不是 'str'。任何人都可以帮我解决它。

标签: pythonpandasdataframe

解决方案


rawData不是bytes对象。check_output返回一个,但您立即将其解码为一个str对象:

rawData = subprocess.check_output(...).decode('utf-8')

只需省略该方法调用。


推荐阅读