VBA:如何读取具有不同结构线的csv文件?

时间:2018-04-01 18:36:30

标签: vba file csv

我想从csv文件中读取数据,但只是从第3行到第13行,其中行具有相同数量的元素(6)。

第1行有1个元素/行(日期时间) - 第一个元素后没有逗号。

第2行有2个元素/行(数字,数字) - 第二个元素后没有逗号。

第3行到第13行有6个元素/行(1号,2号,3号...... 6号)。

第14行 - 文件末尾对我不感兴趣。 因为下一行(3-13)的前2行不同,我收到错误:“运行时错误'9':下标超出范围。”

我尝试将阅读线分开,但是用**

打印线标记

我可以做些什么来跳过这个?

这是代码:

2018/03/27 13:31:52
58.05372,240.2784
30.45,1115.922,88135,0.05049,24.85,33.85
61.9,1662.875,102416,0.5585,56.5,68.5
79.3,1434.352,117602.5,0.10008,72.5,87
93.25,2398.221,225121.5,0.19968,87,104
0,0,0,0,99,100
142.5,388.493,55185.5,0.05043,122.5,158
168.05,261.3842,29628,0.05035,156,175
222.9,305.9312,1955185,0.5479,206,238
226.55,29088.84,1957502,97.045,207,239
261.4,373.4588,36588,0.29764,250.6,267.6
275.15,1440.946,168334,1.1001,268.175,288.5
0
0
0
0

这是一个csv文件示例:

#upsample
s = s.resample('15Min').ffill()
#downsample
#s = s.resample('60Min').mean()
#if already 30 minutes values no resample necessary

1 个答案:

答案 0 :(得分:1)

你的代码在没有文件的情况下运行正常 - 我在它试图填充的单元格中打印XXXX并得到了这个:

img

我在黑暗中拍了一下但是......

也许不是这样:

If row_number >= 1 Then

您打算使用大于?:

If row_number > 1 Then

但请注意,您的代码将开始在突出显示的单元格中填充单元格(而不是使用绝对引用),例如,如果我选择D10并运行您的代码,则D10将成为顶部左转角。

也未声明所有变量。使用[every]模块[forever]顶部的Option Explicit a来帮助识别未声明变量和错误处理对象等问题。

进行这些更改:

img

其他要检查的内容: