title: How to find a columns set for a primary key candidate in CSV file?
body: <p>I have a CSV file (not normalized, example, real file up to 100 columns): </p>
  
  <pre><code>   ID, CUST_NAME, CLIENT_NAME, PAYMENT_NUM, START_DATE, END_DATE
      1,     CUST1,     CLIENT1,          10, 2018-04-01, 2018-04-02
      2,     CUST1,     CLIENT1,          10, 2018-04-01, 2018-05-30
      3,     CUST1,     CLIENT1,         101, 2018-04-02, 2018-04-03
      4,     CUST2,     CLIENT1,         102, 2018-04-02, 2018-04-03
  </code></pre>
  
  <p>How can I find ALL possible sets of columns which could be used as Primary key.</p>
  
  <p><strong>Desired output:</strong></p>
  
  <pre><code>  1) ID
    2) PAYMENT_NUM,START_DATE,END_DATE
    3) CUST_NAME, CLIENT_NAME, PAYMENT_NUM,START_DATE,END_DATE
  </code></pre>
  
  <p><em>I could do it in Java but may be Python/Pandas already provides a quick solution</em></p>