gpt4 book ai didi

python - pandas.read_csv 来自字符串或包数据

转载 作者:IT老高 更新时间:2023-10-28 20:38:18 25 4
gpt4 key购买 nike

我在一个包中有一些 csv 文本数据,我想使用 read_csv 读取这些数据。我是这样做的

from pkgutil import get_data
from StringIO import StringIO

data = read_csv(StringIO(get_data('package.subpackage', 'path/to/data.csv')))

但是,StringIO.StringIO 在 Python 3 中消失了,io.StringIO 只接受 Unicode。有没有简单的方法来做到这一点?

编辑:以下似乎不起作用

import pandas as pd

import pkgutil
from io import StringIO

def get_data_file(pkg, path):
f = StringIO()
contents = unicode(pkgutil.get_data('pymc.examples', 'data/wells.dat'))
f.write(contents)
return f

wells = get_data_file('pymc.examples', 'data/wells.dat')

data = pd.read_csv(wells, delimiter=' ', index_col='id',
dtype={'switch': np.int8})

失败

  File "/usr/local/lib/python2.7/dist-packages/pandas/io/parsers.py", line 401, in parser_f
return _read(filepath_or_buffer, kwds)
File "/usr/local/lib/python2.7/dist-packages/pandas/io/parsers.py", line 209, in _read
parser = TextFileReader(filepath_or_buffer, **kwds)
File "/usr/local/lib/python2.7/dist-packages/pandas/io/parsers.py", line 509, in __init__
self._make_engine(self.engine)
File "/usr/local/lib/python2.7/dist-packages/pandas/io/parsers.py", line 611, in _make_engine
self._engine = CParserWrapper(self.f, **self.options)
File "/usr/local/lib/python2.7/dist-packages/pandas/io/parsers.py", line 893, in __init__
self._reader = _parser.TextReader(src, **kwds)
File "parser.pyx", line 441, in pandas._parser.TextReader.__cinit__ (pandas/src/parser.c:3940)
File "parser.pyx", line 551, in pandas._parser.TextReader._get_header (pandas/src/parser.c:5096)
pandas._parser.CParserError: Passed header=0 but only 0 lines in file

最佳答案

string 传递给 pandas read_csv() , 你可以使用 io.StringIO ,即:

import pandas as pd
from io import StringIO

df = pd.read_csv(StringIO("csv string"))

关于python - pandas.read_csv 来自字符串或包数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20696479/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com