回答此问题可获得 20 贡献值,回答如果被采纳可获得 50 分。
<p>我正在尝试使用pandas处理txt文件。<br/>
但是,我在read_csv时出现以下错误</p>
<blockquote>
<p>CParserError Traceback (most recent call
last) in ()
22 Col.<a href="https://www.cnpython.com/list/append" class="inner-link">append</a>(elm)
23
---> 24 revised=pd.read_csv(Path+file,skiprows=Header+1,header=None,delim_whitespace=True)
25
26 TimeSeries.append(revised)</p>
<p>C:\Users\obakatsu\Anaconda3\lib\site-packages\pandas\io\parsers.py 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)
563
564 parser_f.<strong>name</strong> = name</p>
<p>C:\Users\obakatsu\Anaconda3\lib\site-packages\pandas\io\parsers.py in
_read(filepath_or_buffer, kwds)
323 return parser
324
--> 325 return parser.read()
326
327 _parser_defaults = {</p>
<p>C:\Users\obakatsu\Anaconda3\lib\site-packages\pandas\io\parsers.py in
read(self, nrows)
813 raise ValueError('skip_footer not supported for iteration')
814
--> 815 ret = self._engine.read(nrows)
816
817 if self.options.get('as_recarray'):</p>
<p>C:\Users\obakatsu\Anaconda3\lib\site-packages\pandas\io\parsers.py in
read(self, nrows) 1312 def read(self, nrows=None): 1313<br/>
try:
-> 1314 data = self._reader.read(nrows) 1315 except StopIteration: 1316 if self._first_chunk:</p>
<p>pandas\parser.pyx in pandas.parser.TextReader.read
(pandas\parser.c:8748)()</p>
<p>pandas\parser.pyx in pandas.parser.TextReader._read_low_memory
(pandas\parser.c:9003)()</p>
<p>pandas\parser.pyx in pandas.parser.TextReader._read_rows
(pandas\parser.c:9731)()</p>
<p>pandas\parser.pyx in pandas.parser.TextReader._tokenize_rows
(pandas\parser.c:9602)()</p>
<p>pandas\parser.pyx in pandas.parser.raise_parser_error
(pandas\parser.c:23325)()</p>
<p>CParserError: Error tokenizing data. C error: Expected 4 fields in
line 6, saw 8</p>
</blockquote>
<p>有人知道我怎么解决这个问题吗?<br/>
我要处理的python脚本和示例txt文件如下所示。在</p>
<pre><code>Path='data/NanFung/OCTA_Tower/test/'
files=os.listdir(Path)
TimeSeries=[]
Cols=[]
for file in files:
new=open(Path+file)
Supplement=[]
Col=[]
data=[]
Header=0
#calculate how many rows should be skipped
for line in new:
if line.startswith('Timestamp'):
new1=line.split(" ")
new1[-1]=str(file)[:-4]
break
else:
Header += 1
#clean col name
for elm in new1:
if len(elm)>0:
Col.append(elm)
revised=pd.read_csv(Path+file,skiprows=Header+1,header=None,delim_whitespace=True)
TimeSeries.append(revised)
Cols.append(Col)
</code></pre>
<p>txt文件</p>
^{pr2}$