0

私はデータ アナリストとして働いていますが、IT 部門は私のプロジェクトの一部をコード化する時間がないように思われるため、自分でコードを作成することにしました。ソース ファイル (.csv) を受け取り、必要な順序で列を移動する非常に基本的なプログラムを作成しました。かなりうまくいっていますが、いくつかのことで助けが必要です。

このすべてを行うためのより良い方法があるかもしれないことをよく知っています。特に、以下で必要なことができない場合は特に、コードに 100% 設定されているわけではありません。

  1. ライターの作業が完了したときに何らかのメッセージ ボックスが表示されるようにしたいのですが、その方法がわかりません。

    I figured out a way to do this.  I just added the revised code below.  
    
  2. 「-」を区切り文字として使用して郵便番号を解析し、「-」の後のすべてを次の列に移動したいと思います(したがって、zipとzip + 4を異なる列として持つことができます)。ご覧のとおり、そのようなことをしようとしましたが、うまくいきませんでした。(郵便番号は8列目にあります)

  3. 特定の情報を含むヘッダー行を挿入する必要があります。これについてどうすればいいのかわかりません!

    I figured this out too!  Edited the code below again.  
    
  4. また、日付形式を変更したいと思います。ソースファイルはMM/DD/YYYYですが、YYYYMMDDで納品したいです。(これは列 10 と 11 になります)

だから、ここに私がこれまでに持っているコードがあります。それはかなりうまく機能しますが、私が望むすべてのことを行うわけではありません.

 Public Sub ParseButton_Click(sender As Object, e As EventArgs) Handles ParseButton.Click

    ' Create the IEnumerable data source. 
    Dim lines As String() = System.IO.File.ReadAllLines(FileInLocation).Skip(1).ToArray()
    Dim Date1 As Date = Date.Now

    Dim lineQuery = From line In lines
             Let x = line.Split(New Char() {","})
             Select "10010" & "," & (Date1.ToString("yyyyMMdd")) & "," &
              (Date1.ToString("yyyyMMdd")) & "," &
              "WY Mental Health Professions Licensing Board" & "," &
             "WY" & "," & x(4) & " " & "," & "," & x(1) & "," & x(2) & "," & x(0) & "," &
             x(5) & "," & "" & "," & x(6) & "," & x(7) & " " & "," & "," & x(8) & "," & " " & "," &
             x(3) & "," & x(9) & " " & "," & "," & x(10) & "," & x(11) & "," & x(12)

    ' Execute the query and write out the new file. Note that WriteAllLines 
    ' takes a string array, so ToArray is called on the query.

    Dim inputString As String = "DartID,DateAdded,DateUpdated,Website,State,BusinessName,DBA,NameFirst,NameMiddle,NameLast,NameSuffix,Address,AddressLine2,AddressCity,AddressState,AddressZipCode,Zip4,Email,LicenseNo,LicenseType,LicenseDateFrom,LicenseDateTo,LicenseStatus,"

    System.IO.File.WriteAllText(FileOutLocation & "\Output.csv", inputString)

    System.IO.File.AppendAllText(FileOutLocation & "\Output.csv", Environment.NewLine)

    System.IO.File.AppendAllLines(FileOutLocation & "\Output.csv", lineQuery.ToArray())

    'Show message box on completion of file write

    If My.Computer.FileSystem.FileExists(FileOutLocation & "\Output.csv") Then
        MsgBox("Parse Complete!")
    Else
        MsgBox("Error, Parse Failed!")
    End If

End Sub

助けてくれてありがとう!

4

2 に答える 2

0

また、日付形式を変更したいと思います。ソースファイルはMM/DD/YYYYですが、YYYYMMDDで納品したいです。(これは列 10 と 11 になります)

temp string を開くことができます。例:

    string *temp = Date1.tostring();
    string temp2[Date1.tostring().length] ;

そしてそれに対処する

     temp2[0]=temp[4+2];
     temp2[1]=temp[5+2];

などまたはほとんど実行されません

     for(int i=0; i<4;i++)
     temp2[i]=temp[i+4+2];

日と月も同じ

各フォーマットの後にスラッシュを入れることを忘れないでください

申し訳ありませんが、私はこの言語の構文を知りませんが、きっと理解できると思います。

于 2013-07-20T22:18:30.270 に答える