有没有人碰巧知道,如果有一个令牌,我可以添加到我的csv的某个字段,这样Excel就不会试图将它转换为日期?
我试图从我的应用程序中编写一个.csv文件,其中一个值碰巧看起来足够像一个日期,Excel会自动将它从文本转换为日期。我曾尝试将所有文本字段(包括看起来像日期的文本字段)放在双引号内,但没有效果。
有没有人碰巧知道,如果有一个令牌,我可以添加到我的csv的某个字段,这样Excel就不会试图将它转换为日期?
我试图从我的应用程序中编写一个.csv文件,其中一个值碰巧看起来足够像一个日期,Excel会自动将它从文本转换为日期。我曾尝试将所有文本字段(包括看起来像日期的文本字段)放在双引号内,但没有效果。
当前回答
在我的案例中,使用R生成的csv文件中的“Sept8”被Excel 2013转换为“8-Sept”。该问题通过使用xlsx包中的write.xlsx2()函数生成xlsx格式的输出文件来解决,该输出文件可以由Excel加载,而无需进行不必要的转换。因此,如果给你一个csv文件,你可以尝试将它加载到R中,并使用write.xlsx2()函数将其转换为xlsx。
其他回答
在双引号中添加空格前缀解决了这个问题!!
我在csv文件的一个列中有“7/8”这样的数据,MS-Excel将其转换为“07-Aug”。但是使用“LibreOffice Calc”就没有问题了。
为了解决这个问题,我只是给空格字符加上前缀(在7之前添加空格),比如“7/8”,这对我来说很有效。这是为Excel-2007测试的。
无需修改您的csv文件,您可以:
将excel格式单元格选项更改为“text” 然后使用“文本导入向导”定义csv单元格。 一旦导入,删除该数据 然后粘贴为纯文本
Excel将正确格式化和分离您的CSV单元格为文本格式,忽略自动日期格式。
有点愚蠢的工作,但它比修改csv数据之前导入。安迪·贝尔德(Andy Baird)和理查德(Richard)回避了这种方法,但遗漏了几个重要步骤。
2018
唯一适合我的解决方案(也没有修改CSV)。
Excel 2010:
创建新工作簿 数据>从文本>选择您的CSV文件 在弹出框中选择“Delimited”单选按钮,然后点击“Next >” 分隔符复选框:只勾选“逗号”,取消勾选其他选项,然后单击“下一步>” 在“数据预览”中,滚动到最右,然后按住shift并单击最后一列(这将选中所有列)。现在在“列数据格式”中选择单选按钮“文本”,然后单击“完成”。
Excel office365:(客户端版本)
创建新工作簿 数据>从文本/CSV >选择您的CSV文件 数据类型检测>不检测
注意:Excel office365 (web版本),当我写这篇文章时,你将无法做到这一点。
在我的案例中,使用R生成的csv文件中的“Sept8”被Excel 2013转换为“8-Sept”。该问题通过使用xlsx包中的write.xlsx2()函数生成xlsx格式的输出文件来解决,该输出文件可以由Excel加载,而无需进行不必要的转换。因此,如果给你一个csv文件,你可以尝试将它加载到R中,并使用write.xlsx2()函数将其转换为xlsx。
CSV -用逗号分隔的值。只需通过文本编辑器创建/编辑,而不是xls/xlsx/exel。 在编辑时,您可以设置所需的格式的日期,它必须保持完整。 这是假设同样的文件将被以编程方式处理。