用BIML脚本中的csv文件替换所有双引号
Posted
技术标签:
【中文标题】用BIML脚本中的csv文件替换所有双引号【英文标题】:replace all double quotes with nothing in csv file in BIML script 【发布时间】:2021-07-07 06:27:52 【问题描述】:我正在使用 BIML 导入平面文件连接。
"
用于文本周围,;
用作分隔符。
但是,在某些文件中,我看到了这一点:
;"this is valid text""";
有双双引号,它们之间没有任何内容。如果我编辑文件并搜索并替换所有双引号,则导入运行良好。那么,在 BIML 中是否可以自动执行此操作?搜索 "" 的所有实例并将其替换为 ?
<#
string[] myFiles = Directory.GetFiles(path, extension);
string[] myColumns;
// Loop trough the files
int TableCount = 0;
foreach (string filePath in myFiles)
TableCount++;
fileName = Path.GetFileNameWithoutExtension(filePath);
#>
<Package Name="stg_<#=prefix#>_<#=TableCount.ToString()#>_<#=fileName#>" ConstraintMode="Linear" AutoCreateConfigurationsType="None" ProtectionLevel="<#=protectionlevel#>" PackagePassword="<#=packagepassword#>">
<Variables>
<Variable Name="CountStage" DataType="Int32" Namespace="User">0</Variable>
</Variables>
<Tasks>
<ExecuteSQL ConnectionName="STG_<#=application#>" Name="SQL-Truncate <#=fileName#>">
<DirectInput>TRUNCATE TABLE <#=dest_schema#>.<#=fileName#></DirectInput>
</ExecuteSQL>
<Dataflow Name="DFT-Transport CSV_<#=fileName#>">
<Transformations>
<FlatFileSource Name="SRC_FF-<#=fileName#> " ConnectionName="FF_CSV-<#=Path.GetFileNameWithoutExtension(filePath)#>">
</FlatFileSource>
<OleDbDestination ConnectionName="STG_<#=application#>" Name="OLE_DST-<#=fileName#>" >
<ExternalTableOutput Table="<#=dest_schema#>.<#=fileName#>"/>
</OleDbDestination>
</Transformations>
</Dataflow>
</Tasks>
</Package>
<# #>
【问题讨论】:
【参考方案1】:原来我完全看错了地方。
转到读取文件的部分并添加.Replace("\"\"","")
myColumns = myFile.ReadLine().Replace("""","").Replace(separator,"").Split(delimiter);
【讨论】:
以上是关于用BIML脚本中的csv文件替换所有双引号的主要内容,如果未能解决你的问题,请参考以下文章
请教高手:csv文件用excel打开另存后,如何把单元格格式中的“”双引号去掉,直接转换为文本格式