python读取行、分割、存储_在Python中读取文本文件,用','分隔,并用';'作为行终端...

博主面临的问题是在处理200MB+的文本文件时,文件以逗号分隔,用分号作为行终止符。在尝试使用pandas读取并分析数据时遇到错误,特别是设置`lineterminator`参数时。他们寻求关于如何正确读取和操作这些文件的建议。
摘要由CSDN通过智能技术生成

我的问题是,我有多个大小为200mb+的文本文件,使用这种格式(非常少的示例):john,smith,3;sasha,dilma,4;sofia,vergara,5;etc.

我需要阅读所有这些文件并分析信息、图表、总和等

我一直在考虑用不同的方法保存数据并在Python中使用它。但是,每当我尝试将数据加载到数据库中或直接在Python中(也尝试使用lineterminator参数)时,行终止符“;”都会导致问题,例如:

^{pr2}$

结果:# 3 first users:

name last_name number

0 john,smith,3 sasha,dilma,4 sofia,vergara,5

编辑。当我像这样实现lineterminator时:users = pd.read_table('C:/prueba.txt', engine='python', sep=',', lineterminator=';', header=None, names=userHeader)

我得到以下信息:---------------------------------------------------------------------------

ValueError Traceback (most recent call last)

in ()

1 import pandas as pd

2 userHeader = ['user_id', 'gender', 'age']

----> 3 users = pd.read_table('C:/prueba.txt', engine='python', sep=';', lineterminator=';', header=None, names=userHeader)

4

5 # print 5 first users

C:\Users\molmos\Anaconda\lib\site-packages\pandas\io\parsers.pyc in parser_f(filepath_or_buffer, sep, dialect, compression, doublequote, escapechar, quotechar, quoting, skipinitialspace, lineterminator, header, index_col, names, prefix, skiprows, skipfooter, skip_footer, na_values, na_fvalues, true_values, false_values, delimiter, converters, dtype, usecols, engine, delim_whitespace, as_recarray, na_filter, compact_ints, use_unsigned, low_memory, buffer_lines, warn_bad_lines, error_bad_lines, keep_default_na, thousands, comment, decimal, parse_dates, keep_date_col, dayfirst, date_parser, memory_map, float_precision, nrows, iterator, chunksize, verbose, encoding, squeeze, mangle_dupe_cols, tupleize_cols, infer_datetime_format, skip_blank_lines)

472 skip_blank_lines=skip_blank_lines)

473

--> 474 return _read(filepath_or_buffer, kwds)

475

476 parser_f.__name__ = name

C:\Users\molmos\Anaconda\lib\site-packages\pandas\io\parsers.pyc in _read(filepath_or_buffer, kwds)

248

249 # Create the parser.

--> 250 parser = TextFileReader(filepath_or_buffer, **kwds)

251

252 if (nrows is not None) and (chunksize is not None):

C:\Users\molmos\Anaconda\lib\site-packages\pandas\io\parsers.pyc in __init__(self, f, engine, **kwds)

564 self.options['has_index_names'] = kwds['has_index_names']

565

--> 566 self._make_engine(self.engine)

567

568 def _get_options_with_defaults(self, engine):

C:\Users\molmos\Anaconda\lib\site-packages\pandas\io\parsers.pyc in _make_engine(self, engine)

709 elif engine == 'python-fwf':

710 klass = FixedWidthFieldParser

--> 711 self._engine = klass(self.f, **self.options)

712

713 def _failover_to_python(self):

C:\Users\molmos\Anaconda\lib\site-packages\pandas\io\parsers.pyc in __init__(self, f, **kwds)

1420 # Set self.data to something that can read lines.

1421 if hasattr(f, 'readline'):

-> 1422 self._make_reader(f)

1423 else:

1424 self.data = f

C:\Users\molmos\Anaconda\lib\site-packages\pandas\io\parsers.pyc in _make_reader(self, f)

1495 if sep is None or len(sep) == 1:

1496 if self.lineterminator:

-> 1497 raise ValueError('Custom line terminators not supported in '

1498 'python parser (yet)')

1499

ValueError: Custom line terminators not supported in python parser (yet)

你知道如何读取和操作存储在文本文件中的所有信息吗?在

谢谢你的帮助。在

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值