Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ssis/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
删除导出的CSV文件中的前导空格_Csv_Ssis - Fatal编程技术网

删除导出的CSV文件中的前导空格

删除导出的CSV文件中的前导空格,csv,ssis,Csv,Ssis,我创建了一个数据流任务,该任务从数据库生成一个CSV文件。 CSV文件有一个zip列。一些行有类似“43218-2166”的zip,很少有行有类似“21709”的zip。 这里的问题是对于zip长度为5的列,对齐方式是右对齐的。我希望这些zip是文本左对齐的。 否则,执行将此CSV作为输入的流程任务将无法正常工作。 我在OLEDB源和平面文件目标之间创建了一个派生列,并在zip上使用了几个表达式,包括LTRIM、RTRIM、REPLACE等。 什么都没用。 请建议是否有任何解决方法可以在CSV

我创建了一个数据流任务,该任务从数据库生成一个CSV文件。 CSV文件有一个zip列。一些行有类似“43218-2166”的zip,很少有行有类似“21709”的zip。 这里的问题是对于zip长度为5的列,对齐方式是右对齐的。我希望这些zip是文本左对齐的。 否则,执行将此CSV作为输入的流程任务将无法正常工作。 我在OLEDB源和平面文件目标之间创建了一个派生列,并在zip上使用了几个表达式,包括LTRIM、RTRIM、REPLACE等。 什么都没用。 请建议是否有任何解决方法可以在CSV for Zip中获得左对齐


您的问题是,当您在Excel中打开一个文件时,它会将“21709”显示为一个数字,因此右对齐 和“50301-0100”作为文本,因此左对齐

在csv本身中,不能定义路线

我用下一个csv文件进行了测试

A,B,X
1,2,X
1   ,2,X
1,   2,X
111-111   ,222-222,X
111-111,   222-222,X
111-111,222-222,X
111-111,222-222,X

要强制左对齐,您可以做一些丑陋的事情,比如在每个数字前面加一个撇号。

您的问题是,当您在Excel中打开一个文件时,它会将“21709”显示为一个数字,因此右对齐 和“50301-0100”作为文本,因此左对齐

在csv本身中,不能定义路线

我用下一个csv文件进行了测试

A,B,X
1,2,X
1   ,2,X
1,   2,X
111-111   ,222-222,X
111-111,   222-222,X
111-111,222-222,X
111-111,222-222,X

要强制左对齐,您可以做一些丑陋的事情,比如在每个数字前面加一个撇号。

您的问题是,当您在Excel中打开一个文件时,它会将“21709”显示为一个数字,因此右对齐 和“50301-0100”作为文本,因此左对齐

在csv本身中,不能定义路线

我用下一个csv文件进行了测试

A,B,X
1,2,X
1   ,2,X
1,   2,X
111-111   ,222-222,X
111-111,   222-222,X
111-111,222-222,X
111-111,222-222,X

要强制左对齐,您可以做一些丑陋的事情,比如在每个数字前面加一个撇号。

您的问题是,当您在Excel中打开一个文件时,它会将“21709”显示为一个数字,因此右对齐 和“50301-0100”作为文本,因此左对齐

在csv本身中,不能定义路线

我用下一个csv文件进行了测试

A,B,X
1,2,X
1   ,2,X
1,   2,X
111-111   ,222-222,X
111-111,   222-222,X
111-111,222-222,X
111-111,222-222,X

要强制左对齐,您可以做一些难看的事情,比如在每个数字前面加一个撇号。

您可以在Excel中打开文件,选择zip列,然后将整个列格式化为文本。但我想你不希望每次重新生成文件时都这样做

因此,您可以引用可能被错误地解释为数字的值(即:将每个值括在两边的引号字符内)。 因为您的文件是生成的,所以最简单的方法是引用所有文本字段,至少对于zip列是这样。其他两列可以,因为Excel可以看到这些不是数字


引用字符的确切含义取决于。在Libre Office Calc中,当我打开一个csv文件时,会出现一个对话框,用于指定字段分隔符和引号字符。所以在这里你可以选择撇号,反勾号或任何你想要的。显然,您在那里输入的任何内容都必须与您的文件相匹配。

您可以在Excel中打开文件,选择zip列,然后将整个列格式化为文本。但我想你不希望每次重新生成文件时都这样做

因此,您可以引用可能被错误地解释为数字的值(即:将每个值括在两边的引号字符内)。 因为您的文件是生成的,所以最简单的方法是引用所有文本字段,至少对于zip列是这样。其他两列可以,因为Excel可以看到这些不是数字


引用字符的确切含义取决于。在Libre Office Calc中,当我打开一个csv文件时,会出现一个对话框,用于指定字段分隔符和引号字符。所以在这里你可以选择撇号,反勾号或任何你想要的。显然,您在那里输入的任何内容都必须与您的文件相匹配。

您可以在Excel中打开文件,选择zip列,然后将整个列格式化为文本。但我想你不希望每次重新生成文件时都这样做

因此,您可以引用可能被错误地解释为数字的值(即:将每个值括在两边的引号字符内)。 因为您的文件是生成的,所以最简单的方法是引用所有文本字段,至少对于zip列是这样。其他两列可以,因为Excel可以看到这些不是数字


引用字符的确切含义取决于。在Libre Office Calc中,当我打开一个csv文件时,会出现一个对话框,用于指定字段分隔符和引号字符。所以在这里你可以选择撇号,反勾号或任何你想要的。显然,您在那里输入的任何内容都必须与您的文件相匹配。

您可以在Excel中打开文件,选择zip列,然后将整个列格式化为文本。但我想你不希望每次重新生成文件时都这样做

因此,您可以引用可能被错误地解释为数字的值(即:将每个值括在两边的引号字符内)。 因为您的文件是生成的,所以最简单的方法是引用所有文本字段,至少对于zip列是这样。其他两列可以,因为Excel可以看到这些不是数字


引用字符的确切含义取决于。在Libre Office Calc中,当我打开一个csv文件时,会出现一个对话框,用于指定字段分隔符和引号字符。所以在这里你可以选择撇号,反勾号或任何你想要的。无论您在那里输入什么,显然都必须与您的文件匹配。

要删除前导空格,您应该使用LTRIM(),而不是RTRIM()。只是输入错误..尝试了LTRIM(),但没有成功。对齐的意思是:D看起来您在Excel中打开了此csv,它识别出这5位数字。如果要将此数据视为文本,请在此数字前添加一个逗号
。在我看来,这不像SSIS的问题:别介意,我看错了这个问题。我以为您是从CSV导入的,但您正在导出到CSV。在这种情况下,Ako的答案可能是正确的。我已经编辑了你的标题。请参见“”,其中的共识是”