我正在使用此代码来执行此操作
Dim csvFile As String = "C:\Text.csv"
Dim lines = File.ReadAllLines(csvFile)
Dim outFile As String = "C:\Text2.csv"
Dim data As String()
Dim format As String = "{0}, {1}, {2}, {3}"
Using fs As New StreamWriter(outFile, False)
For Each s As String In lines
data = s.Split(","c)
fs.WriteLine(String.Format(format,
data(0),
data(1),
data(2),
data(3),
data(4),
data(5)
)
)
Next
End Using
然而,由于我希望它是动态的,我写了一个函数,它读取Config文件并为格式字符串生成输出。
代码看起来像
Dim lines = File.ReadAllLines(Filepath)
Dim outFile As String = "C:\Out.csv"
Dim data As String()
Dim format As String = CReadConfig.ReadConfigsource(ConfigFilepath)
Dim str As String
Using fs As New StreamWriter(outFile, False)
For Each s As String In lines
data = s.Split(","c)
' specifiy the columns to write in
' the order desired
Form1.TextBox1.Text = CReadConfig.ReadConfigtarget(ConfigFilepath)
str = CReadConfig.ReadConfigtarget(ConfigFilepath)
fs.WriteLine(String.Format(format, CReadConfig.ReadConfigtarget(ConfigFilepath)))
函数的输出如下
CReadConfig.ReadConfigsource(ConfigFilepath)= {0},{1},{2},{3} CReadConfig.ReadConfigtarget(ConfigFilepath)= 数据(3),数据(2),数据(1),数据(0)
但是我收到了一个错误 索引(从零开始)必须大于或等于零且小于参数列表的大小。
当我用其输出
替换CReadConfig.ReadConfigtarget(ConfigFilepath)
函数时
数据(3),数据(2),数据(1),数据(0)
代码有效,但是当用提供相同输出的函数替换时,我得到上面提到的错误。
有人可以告诉我们如何解决这个问题。或者有更简单的方法来实现重新排序。
上传
数据:http://www.filedropper.com/data_14
配置文件:
Source,Target
1,2
2,3
3,1
4,4
5,6
6,5