{"action":"created","comment":{"url":"https://api.github.com/repos/pydata/pandas/pulls/comments/63275915","id":63275915,"diff_hunk":"@@ -19,10 +19,76 @@ Highlights include:\n New features\n ~~~~~~~~~~~~\n \n+.. _whatsnew_0182.enhancements.read_csv_dupe_col_names:\n \n+``pd.read_csv`` now has support for duplicate column names\n+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n \n+Duplicate column names are now supported in ``pd.read_csv()`` whether they are in the file\n+or passed in as the `names` parameter (:issue:`7160`, :issue:`9424`)\n \n+.. ipython :: python\n \n+   data = '0,1,2\\n3,4,5'\n+   names = ['a', 'b', 'a']\n+\n+Previous behaviour:\n+\n+.. code-block:: ipython\n+\n+   In [2]: pd.read_csv(StringIO(data), names=names)\n+   Out[2]:\n+      a  b  a\n+   0  2  1  2\n+   1  5  4  5\n+\n+The first 'a' column contains the same data as the second 'a' column, when it should have\n+contained the array ``[0, 3]``.\n+\n+New behaviour:\n+\n+.. ipython :: python\n+\n+   In [2]: pd.read_csv(StringIO(data), names=names)\n+   Out[2]:\n+      a  b  a.1\n+   0  0  1    2\n+   1  3  4    5\n+\n+The same result above can be obtained if the duplicate column names were in the header of the","path":"doc/source/whatsnew/v0.18.2.txt","position":null,"original_position":40,"commit_id":"533f0eaaa25abe762627e24c8be4155546fc2948","original_commit_id":"1bd90bacebb8ec3a84a07ec4f572b5843ee5aeea","user":{"login":"gfyoung","id":9273653,"avatar_url":"https://avatars.githubusercontent.com/u/9273653?v=3","gravatar_id":"","url":"https://api.github.com/users/gfyoung","html_url":"https://github.com/gfyoung","followers_url":"https://api.github.com/users/gfyoung/followers","following_url":"https://api.github.com/users/gfyoung/following{/other_user}","gists_url":"https://api.github.com/users/gfyoung/gists{/gist_id}","starred_url":"https://api.github.com/users/gfyoung/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/gfyoung/subscriptions","organizations_url":"https://api.github.com/users/gfyoung/orgs","repos_url":"https://api.github.com/users/gfyoung/repos","events_url":"https://api.github.com/users/gfyoung/events{/privacy}","received_events_url":"https://api.github.com/users/gfyoung/received_events","type":"User","site_admin":false},"body":"Yep, done.","created_at":"2016-05-14T13:03:56Z","updated_at":"2016-05-14T13:03:56Z","html_url":"https://github.com/pydata/pandas/pull/12935#discussion_r63275915","pull_request_url":"https://api.github.com/repos/pydata/pandas/pulls/12935","_links":{"self":{"href":"https://api.github.com/repos/pydata/pandas/pulls/comments/63275915"},"html":{"href":"https://github.com/pydata/pandas/pull/12935#discussion_r63275915"},"pull_request":{"href":"https://api.github.com/repos/pydata/pandas/pulls/12935"}}},"pull_request":{"url":"https://api.github.com/repos/pydata/pandas/pulls/12935","id":67215781,"html_url":"https://github.com/pydata/pandas/pull/12935","diff_url":"https://github.com/pydata/pandas/pull/12935.diff","patch_url":"https://github.com/pydata/pandas/pull/12935.patch","issue_url":"https://api.github.com/repos/pydata/pandas/issues/12935","number":12935,"state":"open","locked":false,"title":"BUG, ENH: Add support for parsing duplicate columns","user":{"login":"gfyoung","id":9273653,"avatar_url":"https://avatars.githubusercontent.com/u/9273653?v=3","gravatar_id":"","url":"https://api.github.com/users/gfyoung","html_url":"https://github.com/gfyoung","followers_url":"https://api.github.com/users/gfyoung/followers","following_url":"https://api.github.com/users/gfyoung/following{/other_user}","gists_url":"https://api.github.com/users/gfyoung/gists{/gist_id}","starred_url":"https://api.github.com/users/gfyoung/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/gfyoung/subscriptions","organizations_url":"https://api.github.com/users/gfyoung/orgs","repos_url":"https://api.github.com/users/gfyoung/repos","events_url":"https://api.github.com/users/gfyoung/events{/privacy}","received_events_url":"https://api.github.com/users/gfyoung/received_events","type":"User","site_admin":false},"body":"Introduces `mappings` and `reverse_map` attributes to the parser in `pandas.io.parsers` that allow it to differentiate between duplicate columns that may be present in a file.\r\n\r\nCloses #7160.\r\nCloses #9424.","created_at":"2016-04-20T16:14:12Z","updated_at":"2016-05-14T13:03:56Z","closed_at":null,"merged_at":null,"merge_commit_sha":"ae906e99a6962448e126cf5a3f3910894ac9467d","assignee":null,"milestone":{"url":"https://api.github.com/repos/pydata/pandas/milestones/40","html_url":"https://github.com/pydata/pandas/milestones/0.18.2","labels_url":"https://api.github.com/repos/pydata/pandas/milestones/40/labels","id":1639795,"number":40,"title":"0.18.2","description":"","creator":{"login":"jreback","id":953992,"avatar_url":"https://avatars.githubusercontent.com/u/953992?v=3","gravatar_id":"","url":"https://api.github.com/users/jreback","html_url":"https://github.com/jreback","followers_url":"https://api.github.com/users/jreback/followers","following_url":"https://api.github.com/users/jreback/following{/other_user}","gists_url":"https://api.github.com/users/jreback/gists{/gist_id}","starred_url":"https://api.github.com/users/jreback/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jreback/subscriptions","organizations_url":"https://api.github.com/users/jreback/orgs","repos_url":"https://api.github.com/users/jreback/repos","events_url":"https://api.github.com/users/jreback/events{/privacy}","received_events_url":"https://api.github.com/users/jreback/received_events","type":"User","site_admin":false},"open_issues":174,"closed_issues":50,"state":"open","created_at":"2016-03-11T21:24:45Z","updated_at":"2016-05-14T12:04:34Z","due_on":"2016-06-14T04:00:00Z","closed_at":null},"commits_url":"https://api.github.com/repos/pydata/pandas/pulls/12935/commits","review_comments_url":"https://api.github.com/repos/pydata/pandas/pulls/12935/comments","review_comment_url":"https://api.github.com/repos/pydata/pandas/pulls/comments{/number}","comments_url":"https://api.github.com/repos/pydata/pandas/issues/12935/comments","statuses_url":"https://api.github.com/repos/pydata/pandas/statuses/533f0eaaa25abe762627e24c8be4155546fc2948","head":{"label":"gfyoung:dupe-col-names","ref":"dupe-col-names","sha":"533f0eaaa25abe762627e24c8be4155546fc2948","user":{"login":"gfyoung","id":9273653,"avatar_url":"https://avatars.githubusercontent.com/u/9273653?v=3","gravatar_id":"","url":"https://api.github.com/users/gfyoung","html_url":"https://github.com/gfyoung","followers_url":"https://api.github.com/users/gfyoung/followers","following_url":"https://api.github.com/users/gfyoung/following{/other_user}","gists_url":"https://api.github.com/users/gfyoung/gists{/gist_id}","starred_url":"https://api.github.com/users/gfyoung/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/gfyoung/subscriptions","organizations_url":"https://api.github.com/users/gfyoung/orgs","repos_url":"https://api.github.com/users/gfyoung/repos","events_url":"https://api.github.com/users/gfyoung/events{/privacy}","received_events_url":"https://api.github.com/users/gfyoung/received_events","type":"User","site_admin":false},"repo":{"id":51449909,"name":"pandas","full_name":"gfyoung/pandas","owner":{"login":"gfyoung","id":9273653,"avatar_url":"https://avatars.githubusercontent.com/u/9273653?v=3","gravatar_id":"","url":"https://api.github.com/users/gfyoung","html_url":"https://github.com/gfyoung","followers_url":"https://api.github.com/users/gfyoung/followers","following_url":"https://api.github.com/users/gfyoung/following{/other_user}","gists_url":"https://api.github.com/users/gfyoung/gists{/gist_id}","starred_url":"https://api.github.com/users/gfyoung/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/gfyoung/subscriptions","organizations_url":"https://api.github.com/users/gfyoung/orgs","repos_url":"https://api.github.com/users/gfyoung/repos","events_url":"https://api.github.com/users/gfyoung/events{/privacy}","received_events_url":"https://api.github.com/users/gfyoung/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/gfyoung/pandas","description":"Flexible and powerful data analysis / manipulation library for Python, providing labeled data structures similar to R data.frame objects, statistical functions, and much more","fork":true,"url":"https://api.github.com/repos/gfyoung/pandas","forks_url":"https://api.github.com/repos/gfyoung/pandas/forks","keys_url":"https://api.github.com/repos/gfyoung/pandas/keys{/key_id}","collaborators_url":"https://api.github.com/repos/gfyoung/pandas/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/gfyoung/pandas/teams","hooks_url":"https://api.github.com/repos/gfyoung/pandas/hooks","issue_events_url":"https://api.github.com/repos/gfyoung/pandas/issues/events{/number}","events_url":"https://api.github.com/repos/gfyoung/pandas/events","assignees_url":"https://api.github.com/repos/gfyoung/pandas/assignees{/user}","branches_url":"https://api.github.com/repos/gfyoung/pandas/branches{/branch}","tags_url":"https://api.github.com/repos/gfyoung/pandas/tags","blobs_url":"https://api.github.com/repos/gfyoung/pandas/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/gfyoung/pandas/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/gfyoung/pandas/git/refs{/sha}","trees_url":"https://api.github.com/repos/gfyoung/pandas/git/trees{/sha}","statuses_url":"https://api.github.com/repos/gfyoung/pandas/statuses/{sha}","languages_url":"https://api.github.com/repos/gfyoung/pandas/languages","stargazers_url":"https://api.github.com/repos/gfyoung/pandas/stargazers","contributors_url":"https://api.github.com/repos/gfyoung/pandas/contributors","subscribers_url":"https://api.github.com/repos/gfyoung/pandas/subscribers","subscription_url":"https://api.github.com/repos/gfyoung/pandas/subscription","commits_url":"https://api.github.com/repos/gfyoung/pandas/commits{/sha}","git_commits_url":"https://api.github.com/repos/gfyoung/pandas/git/commits{/sha}","comments_url":"https://api.github.com/repos/gfyoung/pandas/comments{/number}","issue_comment_url":"https://api.github.com/repos/gfyoung/pandas/issues/comments{/number}","contents_url":"https://api.github.com/repos/gfyoung/pandas/contents/{+path}","compare_url":"https://api.github.com/repos/gfyoung/pandas/compare/{base}...{head}","merges_url":"https://api.github.com/repos/gfyoung/pandas/merges","archive_url":"https://api.github.com/repos/gfyoung/pandas/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/gfyoung/pandas/downloads","issues_url":"https://api.github.com/repos/gfyoung/pandas/issues{/number}","pulls_url":"https://api.github.com/repos/gfyoung/pandas/pulls{/number}","milestones_url":"https://api.github.com/repos/gfyoung/pandas/milestones{/number}","notifications_url":"https://api.github.com/repos/gfyoung/pandas/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/gfyoung/pandas/labels{/name}","releases_url":"https://api.github.com/repos/gfyoung/pandas/releases{/id}","deployments_url":"https://api.github.com/repos/gfyoung/pandas/deployments","created_at":"2016-02-10T15:31:30Z","updated_at":"2016-02-10T15:31:35Z","pushed_at":"2016-05-14T13:03:37Z","git_url":"git://github.com/gfyoung/pandas.git","ssh_url":"git@github.com:gfyoung/pandas.git","clone_url":"https://github.com/gfyoung/pandas.git","svn_url":"https://github.com/gfyoung/pandas","homepage":"http://pandas.pydata.org","size":76294,"stargazers_count":0,"watchers_count":0,"language":"Python","has_issues":false,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":0,"mirror_url":null,"open_issues_count":0,"forks":0,"open_issues":0,"watchers":0,"default_branch":"master"}},"base":{"label":"pydata:master","ref":"master","sha":"2de2884a7e7abf64f9967f6d8bc05a2d45f59bb4","user":{"login":"pydata","id":1284191,"avatar_url":"https://avatars.githubusercontent.com/u/1284191?v=3","gravatar_id":"","url":"https://api.github.com/users/pydata","html_url":"https://github.com/pydata","followers_url":"https://api.github.com/users/pydata/followers","following_url":"https://api.github.com/users/pydata/following{/other_user}","gists_url":"https://api.github.com/users/pydata/gists{/gist_id}","starred_url":"https://api.github.com/users/pydata/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/pydata/subscriptions","organizations_url":"https://api.github.com/users/pydata/orgs","repos_url":"https://api.github.com/users/pydata/repos","events_url":"https://api.github.com/users/pydata/events{/privacy}","received_events_url":"https://api.github.com/users/pydata/received_events","type":"Organization","site_admin":false},"repo":{"id":858127,"name":"pandas","full_name":"pydata/pandas","owner":{"login":"pydata","id":1284191,"avatar_url":"https://avatars.githubusercontent.com/u/1284191?v=3","gravatar_id":"","url":"https://api.github.com/users/pydata","html_url":"https://github.com/pydata","followers_url":"https://api.github.com/users/pydata/followers","following_url":"https://api.github.com/users/pydata/following{/other_user}","gists_url":"https://api.github.com/users/pydata/gists{/gist_id}","starred_url":"https://api.github.com/users/pydata/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/pydata/subscriptions","organizations_url":"https://api.github.com/users/pydata/orgs","repos_url":"https://api.github.com/users/pydata/repos","events_url":"https://api.github.com/users/pydata/events{/privacy}","received_events_url":"https://api.github.com/users/pydata/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/pydata/pandas","description":"Flexible and powerful data analysis / manipulation library for Python, providing labeled data structures similar to R data.frame objects, statistical functions, and much more","fork":false,"url":"https://api.github.com/repos/pydata/pandas","forks_url":"https://api.github.com/repos/pydata/pandas/forks","keys_url":"https://api.github.com/repos/pydata/pandas/keys{/key_id}","collaborators_url":"https://api.github.com/repos/pydata/pandas/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/pydata/pandas/teams","hooks_url":"https://api.github.com/repos/pydata/pandas/hooks","issue_events_url":"https://api.github.com/repos/pydata/pandas/issues/events{/number}","events_url":"https://api.github.com/repos/pydata/pandas/events","assignees_url":"https://api.github.com/repos/pydata/pandas/assignees{/user}","branches_url":"https://api.github.com/repos/pydata/pandas/branches{/branch}","tags_url":"https://api.github.com/repos/pydata/pandas/tags","blobs_url":"https://api.github.com/repos/pydata/pandas/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/pydata/pandas/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/pydata/pandas/git/refs{/sha}","trees_url":"https://api.github.com/repos/pydata/pandas/git/trees{/sha}","statuses_url":"https://api.github.com/repos/pydata/pandas/statuses/{sha}","languages_url":"https://api.github.com/repos/pydata/pandas/languages","stargazers_url":"https://api.github.com/repos/pydata/pandas/stargazers","contributors_url":"https://api.github.com/repos/pydata/pandas/contributors","subscribers_url":"https://api.github.com/repos/pydata/pandas/subscribers","subscription_url":"https://api.github.com/repos/pydata/pandas/subscription","commits_url":"https://api.github.com/repos/pydata/pandas/commits{/sha}","git_commits_url":"https://api.github.com/repos/pydata/pandas/git/commits{/sha}","comments_url":"https://api.github.com/repos/pydata/pandas/comments{/number}","issue_comment_url":"https://api.github.com/repos/pydata/pandas/issues/comments{/number}","contents_url":"https://api.github.com/repos/pydata/pandas/contents/{+path}","compare_url":"https://api.github.com/repos/pydata/pandas/compare/{base}...{head}","merges_url":"https://api.github.com/repos/pydata/pandas/merges","archive_url":"https://api.github.com/repos/pydata/pandas/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/pydata/pandas/downloads","issues_url":"https://api.github.com/repos/pydata/pandas/issues{/number}","pulls_url":"https://api.github.com/repos/pydata/pandas/pulls{/number}","milestones_url":"https://api.github.com/repos/pydata/pandas/milestones{/number}","notifications_url":"https://api.github.com/repos/pydata/pandas/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/pydata/pandas/labels{/name}","releases_url":"https://api.github.com/repos/pydata/pandas/releases{/id}","deployments_url":"https://api.github.com/repos/pydata/pandas/deployments","created_at":"2010-08-24T01:37:33Z","updated_at":"2016-05-14T11:01:55Z","pushed_at":"2016-05-14T13:03:37Z","git_url":"git://github.com/pydata/pandas.git","ssh_url":"git@github.com:pydata/pandas.git","clone_url":"https://github.com/pydata/pandas.git","svn_url":"https://github.com/pydata/pandas","homepage":"http://pandas.pydata.org","size":144474,"stargazers_count":6251,"watchers_count":6251,"language":"Python","has_issues":true,"has_downloads":true,"has_wiki":true,"has_pages":true,"forks_count":2562,"mirror_url":null,"open_issues_count":1718,"forks":2562,"open_issues":1718,"watchers":6251,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/pydata/pandas/pulls/12935"},"html":{"href":"https://github.com/pydata/pandas/pull/12935"},"issue":{"href":"https://api.github.com/repos/pydata/pandas/issues/12935"},"comments":{"href":"https://api.github.com/repos/pydata/pandas/issues/12935/comments"},"review_comments":{"href":"https://api.github.com/repos/pydata/pandas/pulls/12935/comments"},"review_comment":{"href":"https://api.github.com/repos/pydata/pandas/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/pydata/pandas/pulls/12935/commits"},"statuses":{"href":"https://api.github.com/repos/pydata/pandas/statuses/533f0eaaa25abe762627e24c8be4155546fc2948"}}}}