Skip to content

Instantly share code, notes, and snippets.

@jaredtibs
Last active January 26, 2016 02:41
Show Gist options
  • Save jaredtibs/b48ea0ac23ff69b26f3a to your computer and use it in GitHub Desktop.
Save jaredtibs/b48ea0ac23ff69b26f3a to your computer and use it in GitHub Desktop.
Youtube Data Checker

Data integrity is so important. We need your help to make sure we've got it.

You've received two different sets of data, each claiming to be the reliable source of truth. Write a ruby command line tool that can parse the two sets of data and output any discrepancies.

The data sits in two CSV files, each with three columns:

Account Email, YouTube Channel, Subscriber Count

You can assume the account emails are the same between files and reliable.

Your command line tool should take the two files and a third optional concern as arguments.

Example Usage:

yt_data_checker [file1.csv] [file2.csv] [concern]
* concern is optional

Options:

  • files: Required. The two sets of data are provided below
  • concerns: Optional subscriber_count or channel_ownership

Output:

  • Output a list of account emails with a discrepancy, line delimited
  • If a concern is provided, only output discrepancies related to that data
  • If no concern is provided, output all the unique discrepancies

Example Output:

[email protected]
[email protected]
[email protected]

Note: since these files have been passed around and maintained by different people, the formatting is not consistent. Also YouTube ids can start with an optional UC.

CSV 1

Account Email, YouTube Channel, Subscriber Count
[email protected],UCWBKJ1RNeKTPII34pc6UyUg,28443
[email protected],5OXObSqKlu01WtG0GTUq2g,13
[email protected],7iTbphgUFuJarHcAHMGduQ,1365
[email protected],http://www.youtube.com/channel/UCe09gaA8UCiamw0RQaHuHJw,5
[email protected],https://www.youtube.com/channel/UClELwfTibQ78MAVyVi6twCg,1477
[email protected],https://www.youtube.com/channel/UC1OFDlfdRb6ma1ZGZd07gWA,3590503
[email protected],https://www.youtube.com/channel/UCfHRX7ihY8WnSV53NnpKOvQ,54065
[email protected],6cf7Ad_qowX9qeQfD5dT8g,2831
[email protected],tIRU_vvyQmUADgAt31n7Xg,564
[email protected],Qv9Wo4D2g8tMhH3lGcxiWg,282
[email protected],s4cgIKR4SfglgNQGARgsHA,56632
[email protected],kRkD16_ps8mZvkZHnby5oA,26582
[email protected],pfLKSzjkVsBqIHNbl8Mz6A,428
[email protected],oG6lsYx4dhedb0ZjL2O_HQ,5495
[email protected],http://youtube.com/channel/UCXApAnHLoStKPlFR9_KoBKw,6
[email protected],1eyHg00NjjbFMeF9Ol1Zew,29126
[email protected],http://www.youtube.com/channel/UCGfVjOZE8TTR6L1ylG6lHSg,8366
[email protected],RJ-d6DiO6raIEddFnlrubQ,132
[email protected],q6N_kqiCjE-KqDmoWgXKYA,"26"
[email protected],33PJanBSN4WfosXHVkA9_A,2371
[email protected],B5ZnX_2hTTP5tTuPmOk3uA,344
[email protected],A8E2__IHw9UZhEeHrTEnJA,339
[email protected],UCfmVQFPh1KVkCvuvQjnRrxA,42953
[email protected],OiVONk5g_VCxXtP2som4yA,172
[email protected],ZNw2suHUu1t9NyHB0DolbA,10
[email protected],ZtvdCKWWq8AkTZW1RXpy1A,"2,216"
[email protected],http://www.youtube.com/channel/UCJCM8kLrPjgPcEJEuIV-ELw,1402
[email protected],http://www.youtube.com/channel/UCDi_A4XTSiD5hCO3-6R6OqA,2570
[email protected],tUCA0-v2fjxOOPyA84nJlg,1434
[email protected],5ZiUupQKOcEx1gvShKS6Bg,688
[email protected],UCzSS4r4fkYgvXL6bWCRwegg,25
[email protected],fq9aGE_r1TvTfYWpxEI0_Q,180
[email protected],youtube.com/channel/UC6WLScIs2J8VnFulIn79Nfw,534
[email protected],http://www.youtube.com/channel/UC8bKzySZjA4Eiir7JvBSkEg,89
[email protected],youtube.com/channel/UCQeUfLM907YOxA_9_jIiung,1076
[email protected],http://www.youtube.com/channel/UCb95qCSx8rO7U0P0oE6RcvA,503
[email protected],w53zi4ftVPYpqKTQUoxfKw,254
[email protected],uyFiGMNqQo-nfBX5jY5ZOA,20
[email protected],KPsyZ9KQiXktdGK2jRaTwQ,301
[email protected],GfCFvRsJfXXgPD1wfrI9wA,644
[email protected],e7gOaF5-tH7I3NocgLnhAA,21507
[email protected],jXe6LuyALURdEdRBOn8C5A,286
[email protected],cLDyZ4ESTq6TQGbc2M1Zig,112
[email protected],-Zh14hU-5p58lilWNwyQlg,33
[email protected],YLCka_OXQZtoBJZ5pW9sFg,2000
[email protected],_lpDjhfkyaAr1Fd6AoMXQw,10
[email protected],UCEL6PQjvKuk2-6sTaUmub8A,89
[email protected],sbo6gAIwSELM1vApwRw4ng,"244"
[email protected],X0ZEkd41kOTZ_2qRHViSQw,54
[email protected],http://www.youtube.com/channel/UCsR5ZMY4gyAuCUTMkxPocrQ,4
[email protected],v3jmHLil11QvVzXxm18KHg,59
[email protected],hJbZilh7YcrnajYJ-gsLqw,84
[email protected],Cnms8EieLvB6oNLXBgIGNQ,138902
[email protected],tTIo7Mi2KuZTwoCys4Cdhw,1
[email protected],KjvSEotHjQFYjRwCWJGSdQ,5
[email protected],YVAY2qVpaIzVWA56nIkJtA,766
[email protected],Phv_Fz6YkjqbWI11IhScOQ,89
[email protected],UCiQ4x3FbxB9yPETGlvevbJQ,246
[email protected],http://youtube.com/channel/UCg0zJnmieAtkq0evFcgt97w,29
[email protected],054PSI_p4hjVVQUUWTxv4Q,"19,223"

CSV 2

Account Email, YouTube Channel, Subscriber Count
[email protected],WBKJ1RNeKTPII34pc6UyUg,29443
[email protected],5OXObSqKlu01WtG0GTUq2g,13
[email protected],UC7iTbphgUFuJarHcAHMGduQ,1365
[email protected],HjA1jv-UJcBxhK_avZfX8Q,5
[email protected],lELwfTibQ78MAVyVi6twCg,1477
[email protected],1OFDlfdRb6ma1ZGZd07gWA,3590503
[email protected],fHRX7ihY8WnSV53NnpKOvQ,54065
[email protected],6cf7Ad_qowX9qeQfD5dT8g,"2,831"
[email protected],tIRU_vvyQmUADgAt31n7Xg,564
[email protected],UCQv9Wo4D2g8tMhH3lGcxiWg,282
[email protected],s4cgIKR4SfglgNQGARgsHA,56632
[email protected],kRkD16_ps8mZvkZHnby5oA,26582
[email protected],pfLKSzjkVsBqIHNbl8Mz6A,428
[email protected],oG6lsYx4dhedb0ZjL2O_HQ,5485
[email protected],UCXApAnHLoStKPlFR9_KoBKw,689
[email protected],UC1eyHg00NjjbFMeF9Ol1Zew,29126
[email protected],eiA19nF1mk1YckW5yq8XJQ,8366
[email protected],RJ-d6DiO6raIEddFnlrubQ,132
[email protected],UCq6N_kqiCjE-KqDmoWgXKYA,26
[email protected],33PJanBSN4WfosXHVkA9_A,2371
[email protected],https://youtube.com/channel/UCB5ZnX_2hTTP5tTuPmOk3uA,344
[email protected],A8E2__IHw9UZhEeHrTEnJA,339
[email protected],UCfmVQFPh1KVkCvuvQjnRrxA,"42,953"
[email protected],OiVONk5g_VCxXtP2som4yA,172
[email protected],ZNw2suHUu1t9NyHB0DolbA,10
[email protected],8TRgUb5hGzcPErf5bb1u2Q,3216
[email protected],JCM8kLrPjgPcEJEuIV-ELw,1402
[email protected],Di_A4XTSiD5hCO3-6R6OqA,2570
[email protected],tUCA0-v2fjxOOPyA84nJlg,1434
[email protected],zSS4r4fkYgvXL6bWCRwegg,688
[email protected],5ZiUupQKOcEx1gvShKS6Bg,25
[email protected],fq9aGE_r1TvTfYWpxEI0_Q,180
[email protected],6WLScIs2J8VnFulIn79Nfw,534
[email protected],8bKzySZjA4Eiir7JvBSkEg,8
[email protected],QeUfLM907YOxA_9_jIiung,107
[email protected],b95qCSx8rO7U0P0oE6RcvA,503
[email protected],w53zi4ftVPYpqKTQUoxfKw,254
[email protected],uyFiGMNqQo-nfBX5jY5ZOA,20
[email protected],KPsyZ9KQiXktdGK2jRaTwQ,301
[email protected],GfCFvRsJfXXgPD1wfrI9wA,644
[email protected],e7gOaF5-tH7I3NocgLnhAA,21507
[email protected],https://www.youtube.com/channel/UCjXe6LuyALURdEdRBOn8C5A,286
[email protected],cLDyZ4ESTq6TQGbc2M1Zig,"112"
[email protected],-Zh14hU-5p58lilWNwyQlg,33
[email protected],YLCka_OXQZtoBJZ5pW9sFg,31
[email protected],_lpDjhfkyaAr1Fd6AoMXQw,100
[email protected],EL6PQjvKuk2-6sTaUmub8A,89
[email protected],sbo6gAIwSELM1vApwRw4ng,244
[email protected],UCX0ZEkd41kOTZ_2qRHViSQw,54
[email protected],http://www.youtube.com/channel/UCsR5ZMY4gyAuCUTMkxPocrQ,4
[email protected],http://www.youtube.com/channel/UCv3jmHLil11QvVzXxm18KHg,59
[email protected],http://www.youtube.com/channel/UChJbZilh7YcrnajYJ-gsLqw,84
[email protected],http://www.youtube.com/channel/UCCnms8EieLvB6oNLXBgIGNQ,"13,8902"
[email protected],http://www.youtube.com/channel/UCtTIo7Mi2KuZTwoCys4Cdhw,1
[email protected],https://www.youtube.com/channel/UCKjvSEotHjQFYjRwCWJGSdQ,5
[email protected],youtube.com/channel/UCYVAY2qVpaIzVWA56nIkJtA,766
[email protected],youtube.com/channel/UCPhv_Fz6YkjqbWI11IhScOQ,89
[email protected],https://www.youtube.com/channel/UCiQ4x3FbxB9yPETGlvevbJQ,246
[email protected],http://youtube.com/channel/UCseviT6lqkz1x5rxBoeRZ2g,29
[email protected],UC054PSI_p4hjVVQUUWTxv4Q,19223
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment