{"id":5682,"date":"2026-10-02T02:06:42","date_gmt":"2026-10-02T05:06:42","guid":{"rendered":"https:\/\/tucumandevelopers.com\/index.php\/2026\/10\/02\/test-long-comment-ids-before-joining-a-csv-in-excel\/"},"modified":"2026-10-02T02:06:42","modified_gmt":"2026-10-02T05:06:42","slug":"test-long-comment-ids-before-joining-a-csv-in-excel","status":"publish","type":"post","link":"https:\/\/tucumandevelopers.com\/index.php\/2026\/10\/02\/test-long-comment-ids-before-joining-a-csv-in-excel\/","title":{"rendered":"Test Long Comment IDs Before Joining a CSV in Excel"},"content":{"rendered":"<div>\n<div><\/div>\n<p>Both IDs have 19 digits. Their length is a property of this fixture, not a universal rule for every TikTok identifier. The fixture tests whether the import preserves the distinguishing suffix and the parent relationship.<\/p>\n<p>Keep an untouched reference in a plain-text editor. Do not open and resave that reference through Excel before using it for comparison. Quoting digit strings in CSV would not solve the typing problem: CSV quotation marks delimit a field, but they do not declare an Excel column as text.<\/p>\n<h2> <a name=\"assign-types-before-numeric-conversion\" href=\"#assign-types-before-numeric-conversion\"> <\/a> Assign types before numeric conversion <\/h2>\n<p>In desktop Excel with the Text\/CSV Power Query importer, open a blank workbook and choose <strong>Data &gt; From Text\/CSV<\/strong>. Select the fixture and use <strong>Transform Data<\/strong> to inspect the conversion steps before loading.<\/p>\n<p>If an automatic <strong>Changed Type<\/strong> step turns the identifiers into numbers, remove that step before setting <code>comment_id<\/code> and <code>parent_comment_id<\/code> to <strong>Text<\/strong>. Assigning Text after numeric conversion can preserve an already rounded value. Keep the comment column as text too.<\/p>\n<p>Load the table at A1 for the checks below, with headers in row 1. If your Excel edition lacks that import path, use a native workbook export that writes identifier cells as strings, when available, and still validate it. A workbook extension by itself does not establish correct cell types.<\/p>\n<h2> <a name=\"compare-every-character-against-the-source\" href=\"#compare-every-character-against-the-source\"> <\/a> Compare every character against the source <\/h2>\n<p>Enter these checks in spare cells outside the imported table: <\/p>\n<div>\n<pre><code>=ISTEXT(A2) =ISTEXT(A3) =EXACT(A2,\"1234567890123456788\") =EXACT(A3,\"1234567890123456789\") =EXACT(A2,A3) =EXACT(B3,A2) <\/code><\/pre>\n<div>\n<\/p><\/div>\n<\/p><\/div>\n<p>Expected results are <code>TRUE<\/code>, <code>TRUE<\/code>, <code>TRUE<\/code>, <code>TRUE<\/code>, <code>FALSE<\/code>, <code>TRUE<\/code> in that order. They are expectations for the fixture, not an account of an executed Excel session. Some locale settings use semicolons between formula arguments.<\/p>\n<p>Keep the reference IDs quoted in formulas. Otherwise the test literal itself can become a spreadsheet number. Microsoft describes <a href=\"https:\/\/support.microsoft.com\/en-us\/excel\/functions\/exact-function\" target=\"_blank\" rel=\"noopener noreferrer\">EXACT as a comparison of text strings<\/a>, so pair it with a cell-type check and an independently preserved source.<\/p>\n<p>The final parent-link check is useful but insufficient alone. It could pass if both the parent ID and its reference were damaged identically. Comparing against the original strings catches that shared error.<\/p>\n<h2> <a name=\"apply-the-same-contract-to-real-exports\" href=\"#apply-the-same-contract-to-real-exports\"> <\/a> Apply the same contract to real exports <\/h2>\n<p>Validate <code>comment_id<\/code>, <code>parent_comment_id<\/code> and <code>video_id<\/code> as strings before joins. Keep count fields numeric where arithmetic is appropriate. Preserve missing IDs as missing; a local display label or a guessed suffix is not a platform identifier.<\/p>\n<p>Repeat the checks after saving and reopening the workbook. Saving back to CSV removes workbook type information, so the next import needs the same precautions. For developer pipelines, keep IDs as strings during JSON parsing, storage and serialization as well; a final string conversion cannot repair upstream rounding.<\/p>\n<p>The <a href=\"https:\/\/tokviewer.app\/blog\/keep-tiktok-comment-ids-intact-in-excel\/\" target=\"_blank\" rel=\"noopener noreferrer\">full comment-ID import guide<\/a> includes the practice file and product-specific export details. Passing these checks establishes record identity within the file. It still does not prove that the capture includes every comment or reply on its source video.<\/p>\n<\/p><\/div>\n<\/div>\n<\/div>\n<\/div>\n<p>Fuente: <a href=\"https:\/\/dev.to\/tokviewerapp\/test-long-comment-ids-before-joining-a-csv-in-excel-4lek\">Art\u00edculo original<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Both IDs have 19 digits. Their length is a property of this fixture, not a universal rule for every TikTok identifier. The fixture tests whether the import preserves the distinguishing suffix and the parent relationship. Keep an untouched reference in a plain-text editor. Do not open and resave that reference through Excel before using it [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":5681,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":"","jetpack_publicize_message":"","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":true,"jetpack_social_options":{"image_generator_settings":{"template":"highway","default_image_id":0,"font":"","enabled":false},"version":2},"webixso_pending_account_ids":""},"categories":[41],"tags":[],"class_list":["post-5682","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-devto"],"jetpack_publicize_connections":[],"_links":{"self":[{"href":"https:\/\/tucumandevelopers.com\/index.php\/wp-json\/wp\/v2\/posts\/5682","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/tucumandevelopers.com\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/tucumandevelopers.com\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/tucumandevelopers.com\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/tucumandevelopers.com\/index.php\/wp-json\/wp\/v2\/comments?post=5682"}],"version-history":[{"count":0,"href":"https:\/\/tucumandevelopers.com\/index.php\/wp-json\/wp\/v2\/posts\/5682\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/tucumandevelopers.com\/index.php\/wp-json\/wp\/v2\/media\/5681"}],"wp:attachment":[{"href":"https:\/\/tucumandevelopers.com\/index.php\/wp-json\/wp\/v2\/media?parent=5682"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/tucumandevelopers.com\/index.php\/wp-json\/wp\/v2\/categories?post=5682"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/tucumandevelopers.com\/index.php\/wp-json\/wp\/v2\/tags?post=5682"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}