2016-11-19 2 views
1

Я получаю сообщение об ошибке, что файл не существует, пока у меня есть файл в папке, не могли бы вы рассказать мне, где я делаю ошибку?panda не может сместиться

pd.DataFrame.from_csv 

Приведенная ниже ошибка.

Traceback (most recent call last): 
    File "main.py", line 194, in <module> 
    start_path+end_res) 
    File "/Users/admin/Desktop/script/mergeT.py", line 5, in merge 
    df_peak = pd.DataFrame.from_csv(peak_score, index_col = False, sep='\t') 
    File "/Library/Python/2.7/site-packages/pandas/core/frame.py", line 1231, in from_csv 
    infer_datetime_format=infer_datetime_format) 
    File "/Library/Python/2.7/site-packages/pandas/io/parsers.py", line 645, in parser_f 
    return _read(filepath_or_buffer, kwds) 
    File "/Library/Python/2.7/site-packages/pandas/io/parsers.py", line 388, in _read 
    parser = TextFileReader(filepath_or_buffer, **kwds) 
    File "/Library/Python/2.7/site-packages/pandas/io/parsers.py", line 729, in __init__ 
    self._make_engine(self.engine) 
    File "/Library/Python/2.7/site-packages/pandas/io/parsers.py", line 922, in _make_engine 
    self._engine = CParserWrapper(self.f, **self.options) 
    File "/Library/Python/2.7/site-packages/pandas/io/parsers.py", line 1389, in __init__ 
    self._reader = _parser.TextReader(src, **kwds) 
    File "pandas/parser.pyx", line 373, in pandas.parser.TextReader.__cinit__ (pandas/parser.c:4175) 
    File "pandas/parser.pyx", line 667, in pandas.parse**strong text**r.TextReader._setup_parser_source (pandas/parser.c:8440) 
IOError: File results\scoring\fed\score_peak.txt does not exist 

Я попытался установить путь к точному файлу например

+0

Первая ошибка: неправильный отступ сценария. Затем: backslaches вместо косой черты. Вероятно, вы используете устаревший файл, возможно, настроенный в Windows. – user3159253

+0

Как и @ user3159253, вам нужно отступать все после строки 'def', иначе путь к файлу не будет изменен. –

+0

@ user3159253 Вы имеете в виду, что я импортирую данные, такие как peak_score = '\ Users \ admin \ Desktop \ peak_score.txt'? да, это было основано на окнах, и теперь я использую Mac –

ответ

2

По documentation of pandas 0.19.1pandas.DataFrame.from_csv не поддерживает index_col = False. Попробуйте вместо этого использовать pandas.read_csv (с теми же параметрами). Также убедитесь, что вы используете обновленную версию панд.

Смотрите, если это работает:

import pandas as pd 
def merge(peak_score, profile_score, res_file): 
    df_peak = pd.read_csv(peak_score, index_col = False, sep='\t') 
    df_profile = pd.read_csv(profile_score, index_col = False, sep='\t') 
    result = pd.concat([df_peak, df_profile], axis=1) 
    print result.head() 
    test = [] 
    for a,b in zip(result['prot_a_p'],result['prot_b_p']): 
     if a == b: 
      test.append(1) 
     else: 
      test.append(0) 
    result['test']=test 
    result = result[result['test']==0] 
    del result['test'] 
    result = result.fillna(0) 
    result.to_csv(res_file) 

if __name__ == '__main__': 
    pass 

Что касается вопроса пути при переходе от Windows, в OS X:

Во всех разновидностях Unix, дорожки записываются с косой черты /, а в обратной косой черты для Windows \ используются. Поскольку OS X является потомком Unix, как правильно указали другие пользователи, когда вы меняете их из Windows, вам нужно адаптировать свои пути.

+0

блестящий !!! благодаря –

Смежные вопросы