code: def clean_win_tsv(filepath=os.path.join(DATA_PATH, 'Products.txt'),
                    index_col=False, sep='\t', lineterminator='\r', error_bad_lines=False, **kwargs):
      
      df = pd.read_csv(filepath, index_col=index_col, sep=sep, lineterminator=lineterminator,
                       error_bad_lines=error_bad_lines, **kwargs)
      index_col = df.columns[0]
      original_len = len(df)
      if df[index_col].values[-1] == '\n':
          df.iloc[-1, 0] = np.nan
          original_len = len(df) - 1
      df.dropna(how='all', inplace=True)
      df[index_col] = df[index_col].str.strip().apply(lambda x: x if x else str(INT_MIN)).astype(int)
      df = df[~(df[index_col] == INT_NAN)]
      df.set_index(index_col, inplace=True)
      if len(df) != original_len:
          logger.warning(('Loaded {} rows from tsv. Original file, "{}", contained {} seemingly valid lines.' +
                          'Index column: {}').format(len(df), original_len, filepath, index_col))
      return df
docs: Load and clean tab-separated files saved on Windows OS ('\r\n')