【发布时间】:2017-01-08 21:20:46
【问题描述】:
我有一个非常简单的 csv,包含以下数据,压缩在 tar.gz 文件中。我需要使用 pandas.read_csv 在数据框中读取它。
A B
0 1 4
1 2 5
2 3 6
import pandas as pd
pd.read_csv("sample.tar.gz",compression='gzip')
但是,我收到错误:
CParserError: Error tokenizing data. C error: Expected 1 fields in line 440, saw 2
以下是一组 read_csv 命令以及我使用它们时遇到的不同错误:
pd.read_csv("sample.tar.gz",compression='gzip', engine='python')
Error: line contains NULL byte
pd.read_csv("sample.tar.gz",compression='gzip', header=0)
CParserError: Error tokenizing data. C error: Expected 1 fields in line 440, saw 2
pd.read_csv("sample.tar.gz",compression='gzip', header=0, sep=" ")
CParserError: Error tokenizing data. C error: Expected 2 fields in line 94, saw 14
pd.read_csv("sample.tar.gz",compression='gzip', header=0, sep=" ", engine='python')
Error: line contains NULL byte
这里出了什么问题?我该如何解决这个问题?
【问题讨论】:
-
'.gz'文件与'.tar.gz'不同 -
好的,那我应该怎么做才能在不解压的情况下读取 tar.gz 文件呢?
-
如果是单个文件,你为什么
tar-ing呢?为什么不只是gzip呢?这样你就可以直接使用 pd.read_csv() 了。 -
我不是在处理它。它已提供,我无法解压缩原始文件,因为它超过 100 GB。
标签: python csv pandas gzip tar