【问题标题】:How can l read and transform 7z file into csv using Pandas (python)?如何使用 Pandas(python)读取 7z 文件并将其转换为 csv?
【发布时间】:2017-05-02 16:46:02
【问题描述】:

我有 7z 个文件,我想使用 Pandas 将它们转换为 csv 来预处理数据。我有 python 2.7。

我试过这个:

import pandas as pd
data = pd.read_csv('train_2011_2012_2013.7z.002', header = None)
print data

我收到了这个错误

CParserError                              Traceback (most recent call last)
<ipython-input-9-74098fd0c476> in <module>()
      1 
----> 2 data = pd.read_csv('train_2011_2012_2013.7z.001', header = None)
      3 print data

/root/anaconda2/lib/python2.7/site-packages/pandas/io/parsers.pyc in parser_f(filepath_or_buffer, sep, delimiter, header, names, index_col, usecols, squeeze, prefix, mangle_dupe_cols, dtype, engine, converters, true_values, false_values, skipinitialspace, skiprows, skipfooter, nrows, na_values, keep_default_na, na_filter, verbose, skip_blank_lines, parse_dates, infer_datetime_format, keep_date_col, date_parser, dayfirst, iterator, chunksize, compression, thousands, decimal, lineterminator, quotechar, quoting, escapechar, comment, encoding, dialect, tupleize_cols, error_bad_lines, warn_bad_lines, skip_footer, doublequote, delim_whitespace, as_recarray, compact_ints, use_unsigned, low_memory, buffer_lines, memory_map, float_precision)
    560                     skip_blank_lines=skip_blank_lines)
    561 
--> 562         return _read(filepath_or_buffer, kwds)


CParserError: Error tokenizing data. C error: Expected 1 fields in line 17, saw 2

这里有什么问题?

【问题讨论】:

  • pd.read_csv() 可以使用文件句柄或StringIO。所以如果你可以打开一个文件并读取它,那么你就可以将它传递给 pandas。
  • 它不起作用
  • data = pd.read_csv('train_2011_2012_2013.7z.002', header = None) 打印数据
  • 这行不通,因为您传递的是文件的 name。您需要传递文件的句柄。有关如何打开文件,请参阅this question
  • 需要明确的是,在读取压缩文件时不能使用文件名。否则(如果读取未压缩的 CSV 文件),文件名可以作为 pandas.read_csv 的第一个参数正常工作。

标签: python-2.7 csv pandas 7zip sklearn-pandas


【解决方案1】:

安装pyunpack和patool

pip 安装 pyunpack

pip install patool

写完之后运行以下代码:

from pyunpack import Archive
Archive('Downloads\asdfg.7z').extractall("output path")

在输出路径中,您将找到存储文件的提取文件夹。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-06-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-02-03
    • 2021-11-21
    • 2018-11-24
    • 2020-06-19
    相关资源
    最近更新 更多