{"id":530,"date":"2010-12-14T04:22:00","date_gmt":"2010-12-14T08:22:00","guid":{"rendered":"http:\/\/www.sofastatistics.com\/blog\/?p=530"},"modified":"2010-12-14T04:22:00","modified_gmt":"2010-12-14T08:22:00","slug":"more-robust-importing-from-imperfect-spreadsheets","status":"publish","type":"post","link":"https:\/\/www.sofastatistics.com\/blog\/more-robust-importing-from-imperfect-spreadsheets\/","title":{"rendered":"More robust importing from imperfect spreadsheets"},"content":{"rendered":"<p>SOFA Statistics version 0.9.23 makes importing data from spreadsheets (and csv) much more robust.  In particular, it copes better with inconsistent data types in a single field and give the user a choice as to which to use:<\/p>\n<div id=\"attachment_533\" style=\"width: 410px\" class=\"wp-caption aligncenter\"><a href=\"http:\/\/www.sofastatistics.com\/blog\/wp-content\/uploads\/2010\/12\/import_mixed_data_types_choice.jpg\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-533\" src=\"http:\/\/www.sofastatistics.com\/blog\/wp-content\/uploads\/2010\/12\/import_mixed_data_types_choice.jpg\" alt=\"Choosing data type\" title=\"Choosing data type\" width=\"400\" height=\"226\" class=\"size-full wp-image-533\" srcset=\"https:\/\/www.sofastatistics.com\/blog\/wp-content\/uploads\/2010\/12\/import_mixed_data_types_choice.jpg 400w, https:\/\/www.sofastatistics.com\/blog\/wp-content\/uploads\/2010\/12\/import_mixed_data_types_choice-300x169.jpg 300w\" sizes=\"auto, (max-width: 400px) 100vw, 400px\" \/><\/a><p id=\"caption-attachment-533\" class=\"wp-caption-text\">Choosing data type<\/p><\/div>\n<p>The latest version also has a much more reliable method of identifying and extracting date data from ods (OpenOffice Calc, Gnumeric, Google Docs spreadsheets).<\/p>\n<p>Other changes include:<\/p>\n<ul>\n<li>If no change to table design when clicking Update, get a message that there was no change instead of no response.<\/li>\n<li>When opening data tables, the read only checkbox is ticked or unticked according to whether showing the demonstration table or not when in the default sofa database.<\/li>\n<li>Now handles PostgreSQL databases with different schemas.<\/li>\n<li>When run in console, SOFA produces much more useful input on progress during initial stages and on any error encountered.<\/li>\n<li>Height setting algorithm for data editing\/display grid now copes with taller e.g. double height, taskbars in Windows.<\/li>\n<li>More reliable method used for identifying the folder location of SOFA.<\/li>\n<\/ul>\n<p>There are also numerous bug fixes:<\/p>\n<ul>\n<li>All lines in multi-line text cells are now imported from ods spreasdsheets correctly.<\/li>\n<li>Errors when getting project settings file at start return useful message and don&#8217;t fail because tried to use msgbox before the GUI application is running.<\/li>\n<li>Better handling of errors when identifying date format. Falls back to a reasonable default.<\/li>\n<li>Fixed error preventing message being shown when unable to change database details e.g. selecting a different db in the drop-down.<\/li>\n<li>Fixed bug in legend of auxiliary clustered bar charts when long value labels.  Now has automatic line splitting.<\/li>\n<li>Correct initial display of csv data when importing if missing cells in some rows.<\/li>\n<li>Majorly reduced impact of bug when creating report tables using numbers with more decimal points than python displays when converting to text e.g. into an SQL statement ready for execution.<\/li>\n<li>CSV importing now provides useful error messages if actually an Excel spreadsheet saved as a csv with Excel features preserved (i.e. a faulty csv file). Also copes better with faulty delimiters being manually supplied.<\/li>\n<\/ul>\n","protected":false},"excerpt":{"rendered":"<p>SOFA Statistics version 0.9.23 makes importing data from spreadsheets (and csv) much more robust. In particular, it copes better with inconsistent data types in a single field and give the user a choice as to which to use: The latest version also has a much more reliable method of identifying and extracting date data from [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[3],"tags":[],"class_list":["post-530","post","type-post","status-publish","format-standard","hentry","category-general"],"_links":{"self":[{"href":"https:\/\/www.sofastatistics.com\/blog\/wp-json\/wp\/v2\/posts\/530","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.sofastatistics.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.sofastatistics.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.sofastatistics.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.sofastatistics.com\/blog\/wp-json\/wp\/v2\/comments?post=530"}],"version-history":[{"count":5,"href":"https:\/\/www.sofastatistics.com\/blog\/wp-json\/wp\/v2\/posts\/530\/revisions"}],"predecessor-version":[{"id":536,"href":"https:\/\/www.sofastatistics.com\/blog\/wp-json\/wp\/v2\/posts\/530\/revisions\/536"}],"wp:attachment":[{"href":"https:\/\/www.sofastatistics.com\/blog\/wp-json\/wp\/v2\/media?parent=530"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.sofastatistics.com\/blog\/wp-json\/wp\/v2\/categories?post=530"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.sofastatistics.com\/blog\/wp-json\/wp\/v2\/tags?post=530"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}