Google apps script 谷歌电子表格导入任意日期格式的CSV?

Google apps script 谷歌电子表格导入任意日期格式的CSV?,google-apps-script,google-sheets,google-spreadsheet-api,Google Apps Script,Google Sheets,Google Spreadsheet Api,我试图找出处理CSV文件的选项是什么,该文件具有不一致的区域设置日期格式?电子表格设置为将MMM dd yyyy识别为有效日期(通过电子表格设置),并且CSV文件具有dd MMM yyyy。a) 我是否可以编写一个自定义CSV加载程序,在将数据放入电子表格之前对其进行处理/修复?b) 我是否可以(通过API)访问原始单元格文本(避免自动转换为“错误”的日期字符串)并根据需要进行修复?c) 还有其他解决办法吗?提前谢谢 我认为这个问题没有好的解决办法。但我可以想象一些可能对你有用的变通方法 您可以

我试图找出处理CSV文件的选项是什么,该文件具有不一致的区域设置日期格式?电子表格设置为将MMM dd yyyy识别为有效日期(通过电子表格设置),并且CSV文件具有dd MMM yyyy。a) 我是否可以编写一个自定义CSV加载程序,在将数据放入电子表格之前对其进行处理/修复?b) 我是否可以(通过API)访问原始单元格文本(避免自动转换为“错误”的日期字符串)并根据需要进行修复?c) 还有其他解决办法吗?提前谢谢

我认为这个问题没有好的解决办法。但我可以想象一些可能对你有用的变通方法

  • 您可以上传文件,而无需转换为您的谷歌文档/驱动器,然后进行读取

  • 或者,您可以使用计算机上的常规文本编辑器在每个日期前插入一个撇号,进行搜索和替换。撇号阻止电子表格解析单元格内容,并保持原样(即文本)


  • 如果您编写自己的脚本来生成CSV,请将日期设置为此格式,然后Google Sheets将自动识别这些日期,您可以根据需要对其进行格式化:

    YYYY-MM-DD hh:mm:ss
    
    以下是一个示例日期(2020年1月22日下午1:34:22):


    刚刚注意到,即使我使用了一个带有默认dd/MMM/yyyy的适当区域设置(如西班牙),电子表格导入器也会忽略它,并使用一些默认区域设置。因此,它显示了一个2012年9月22日的单元格,并没有将其识别为日期单元格,但如果我在下一个单元格中键入2012年9月22日相同的单元格,它会将其转换为正确的西班牙语言环境。。。这很烦人……还有更多的好处。使用正确的dd/MMM/yyyy区域设置,电子表格将2012年5月6日视为有效日期,并将其转换为日期对象,但跳过2012年5月30日,将其保留为字符串。好吧。。我为这个问题找到了一个“拐杖”解决方案,它允许读取csv并在电子表格中处理它(尽管需要正确设置区域设置)。这个技巧是一个简单的函数,它用相同的值覆盖所有日期列单元格。这是一个有点愚蠢的代码。。。但效果很好。是的。。但这意味着我需要手动执行一些额外的步骤,我尽量避免这些步骤。顺便说一句,我找到了一个丑陋的解决方案,但解决了这个问题。你有没有找到解决这个问题的办法?我也有同样的问题
    2020-01-22 13:34:22