循环播放csv

问题描述:

只是想知道我是否可以在PowerShell中执行此操作,甚至是c#/ vb.net命令行程序。循环播放csv

我有一个看起来像这样的数据:

alt text http://www.kalleload.net/uploads/qubtqmuikowt.jpg

我有一个团队表。它看起来像这样:

| id | teamname | teamcity |

例如,C2的值为“亚特兰大勇士”。我需要把它分成“亚特兰大”和“勇敢者”。数据是一致的。例如“纽约大都会队”实际上是“纽约大都会队”。

所以我需要通过列C和D并插入所有的团队(没有重复数据库)。

+0

根据您的评论如下:它是数据库还是CSV文件?你打算如何存储输出? – 2009-07-13 01:38:12

一行PowerShell将读取CSV文件,并为每个主客场球队列表(为城市名称和球队名称提供属性)创建一个自定义对象。管道中的最后一条命令将消除重复项。

$TeamsAndCities = import-csv -path c:\mycsvfile.csv | foreach-object { $_.away, $_.home | select-object @{Name='City';Expression={$_.split(' ')[0]}}, @{Name='Team';Expression={$_.split(' ')[1]}} } | select-object -unique 

你可以从PowerShell的数据库访问为好,但可能是适合与你正在连接到数据库的一些更详细的新问题。

我很少代码VBA/VB,但... 喜欢的东西

Dim rngAwayTeam As Range, rngHomeTeam As Range 
set rngAwayTeam = Worksheets("YourWorksheet").Range("C2") 
set rngHomeTeam = Worksheets("YourWorksheet").Range("D2") 
Dim rowOffset As Integer 
rowOffset = 1 
Do While (rngAwayTeam.Offset(rowOffset,1).Text <> "") 
    'Do something with rngAwayTeam.Offset(rowOffset,1).Text 
    'and rngHomeTeam.Offset(rowOffset,1).Text 
    rowOffset = rowOffset + 1 
Loop 

还有其他的方法,我敢肯定,但是,这里是我会做什么。

+0

这是一个宏的宏?使用C#会更好吗?所以我可以使用数据类轻松更新我的数据库? – masfenix 2009-07-13 01:34:33

是的,这是一个超级宏。再次,我很少使用VBA或.Net,只是尽力帮助你尽我所能。你可以在事物的数据库端使用C#COM对象。 (还是新的,无法评论。)

你可以很容易地在C#控制台应用程序中完成它。 您所要做的就是遍历文件中的每一行,并使用逗号(,)分割将其添加到数组中。

然后,您可以使用您的数组显示值或检索行中的特定值。