2016-10-19 6 views
5

私はpandas read_csvに問題があります。私はそれを読むためにこのコードを使用しながら、パンダを扱う際の問題csvを読む

SecCode,SecName,Tdate,Ttime,LastClose,OP,CP,Tq,Tm,Tt,Cq,Cm,Ct,HiP,LoP,SYL1,SYL2,Rf1,Rf2,bs,s5,s4,s3,s2,s1,b1,b2,b3,b4,b5,sv5,sv4,sv3,sv2,sv1,bv1,bv2,bv3,bv4,bv5,bsratio,spd,rpd,depth1,depth2 
600000,浦发银行,20120104,091501,8.490,.000,.000,0,.000,0,0,.000,0,.000,.000,.000,.000,.000,.000, ,.000,.000,.000,.000,8.600,8.600,.000,.000,.000,.000,0,0,0,0,1100,1100,38900,0,0,0,.00,.000,.00,.00,.00 
600000,浦发银行,20120104,091506,8.490,.000,.000,0,.000,0,0,.000,0,.000,.000,.000,.000,.000,.000, ,.000,.000,.000,.000,8.520,8.520,.000,.000,.000,.000,0,0,0,0,56795,56795,33605,0,0,0,.00,.000,.00,.00,.00 
600000,浦发银行,20120104,091511,8.490,.000,.000,0,.000,0,0,.000,0,.000,.000,.000,.000,.000,.000, ,.000,.000,.000,.000,8.520,8.520,.000,.000,.000,.000,0,0,0,0,56795,56795,34605,0,0,0,.00,.000,.00,.00,.00 
600000,浦发银行,20120104,091551,8.490,.000,.000,0,.000,0,0,.000,0,.000,.000,.000,.000,.000,.000, ,.000,.000,.000,.000,8.520,8.520,.000,.000,.000,.000,0,0,0,0,56795,56795,35205,0,0,0,.00,.000,.00,.00,.00 
600000,浦发银行,20120104,091621,8.490,.000,.000,0,.000,0,0,.000,0,.000,.000,.000,.000,.000,.000, ,.000,.000,.000,.000,8.520,8.520,.000,.000,.000,.000,0,0,0,0,57795,57795,34205,0,0,0,.00,.000,.00,.00,.00 

:私はこのような株式market.It年代に関連付ける多くのtxtファイルだった

fields = ['SecCode', 'Tdate','Ttime','LastClose','OP','CP','Rf1','Rf2'] 
df = pd.read_csv('SHL1_TAQ_600000_201201.txt',usecols=fields) 

をしかし、私は問題だ:

Traceback (most recent call last): 
    File "E:/workspace/Senti/highlevel/highlevel.py", line 8, in <module> 
    df = pd.read_csv('SHL1_TAQ_600000_201201.txt',usecols=fields,header=1) 
    File "D:\Anaconda2\lib\site-packages\pandas\io\parsers.py", line 562, in parser_f 
    return _read(filepath_or_buffer, kwds) 
    File "D:\Anaconda2\lib\site-packages\pandas\io\parsers.py", line 315, in _read 
    parser = TextFileReader(filepath_or_buffer, **kwds) 
    File "D:\Anaconda2\lib\site-packages\pandas\io\parsers.py", line 645, in __init__ 
    self._make_engine(self.engine) 
    File "D:\Anaconda2\lib\site-packages\pandas\io\parsers.py", line 799, in _make_engine 
    self._engine = CParserWrapper(self.f, **self.options) 
    File "D:\Anaconda2\lib\site-packages\pandas\io\parsers.py", line 1257, in __init__ 
    raise ValueError("Usecols do not match names.") 
ValueError: Usecols do not match names. 

私はmineに似た問題を見つけることができません。また、txtファイルを別のものにコピーするとコードがうまく動作しますが、元のものが上記の問題を引き起こします。どのように解決できますか?

+0

Usecolsは名前と一致しません。 – vmg

+1

エンコードに問題がありますか? – intrepidhero

+1

私はanacondaを使用していません。IDLEとPANDASだけです。上記のコードではエラーが発生しませんでした。 –

答えて

2

、あなたが実行していることを言った:

df = pd.read_csv('SHL1_TAQ_600000_201201.txt',usecols=fields) 

私と@Anil_Mのエラーをスローしませんでした。

header=1が含まれており、それはエラーが言及したスロー
df = pd.read_csv('SHL1_TAQ_600000_201201.txt',usecols=fields, header=1) 

:しかし、あなたのトレースバックから、使用されるコマンドは、別の1であることを確認することが可能です。

このエラーは、コードに混乱が生じていると思います。

+1

はい、おそらく 'header = 1'がこの問題を引き起こします... OPはそれを使用しないか、または' header = 0'(デフォルト)に変更しようとします。 – MaxU

0

usecolsの代わりにnamesを使用してパラメータを指定します。あなたのメッセージで

関連する問題