首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何使用Windows从tar文件中读取特定文件?

如何使用Windows从tar文件中读取特定文件?
EN

Stack Overflow用户
提问于 2020-09-28 09:06:32
回答 1查看 42关注 0票数 2

我有一个tar文件,里面压缩了几个文件。我需要使用pandas读取一个特定的文件( csv格式)。我尝试使用以下代码:

代码语言:javascript
运行
复制
import tarfile
tar = tarfile.open('my_files.tar', 'r:gz')
f = tar.extractfile('some_files/need_to_be_read.csv')

import pandas as pd
df = pd.read_csv(f.read())

但它抛出了以下错误:

代码语言:javascript
运行
复制
OSError: Expected file path name or file-like object, got <class 'bytes'> type

在代码的最后一行。我如何阅读这个文件呢?

EN

Stack Overflow用户

回答已采纳

发布于 2020-09-28 09:11:58

当你调用pandas.read_csv()时,你需要给它一个文件名或者类似文件的对象。tar.extractfile()返回一个类似文件的对象。将文件传递给Pandas,而不是将文件读取到内存中。

因此,删除.read()部件:

代码语言:javascript
运行
复制
import tarfile
tar = tarfile.open('my_files.tar', 'r:gz')
f = tar.extractfile('some_files/need_to_be_read.csv')

import pandas as pd
df = pd.read_csv(f)
票数 2
EN
查看全部 1 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64094705

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档