我最近更改了腳本以將數據從csv文件導入選項卡分隔文件。我遇到的問題是當tab分隔的文件中有一個空值,例如$ var1時,它不會將$ var當作NULL或「」,我認爲變量中存在一個製表符,因此我將條帶從包含選項卡變量,仍然發生相同的問題。選項卡分隔的文件包含6列和5行,並且在使用以下命令導入文件時添加標題。PowerShell選項卡分隔文件導入和空白值
我的問題是如果其中一列是空白的話,將從標籤分隔的文件中讀取什麼?
The command used to import the files contents.
$List = Import-Csv C:\Users\jsmith\Documents\file.out -Delimiter "`t" -Header "ID","Date","First Name","Last Name","Gender"
我無法重現你的錯誤。當我用樣本數據嘗試時,缺失值是一個空字符串: 1 \ t 6/10/2014 \ t John \ t Doe \ t M \ t X 2 \ t 6/01/2014 \ t Frank \ t O'Connor \ t M \ t X $ 3 \ t 4/10/2012 \ t Fred \ t \ t M \ t X $ List [2]。'Last Name'GetType()returned System。字符串和 $ List [2]。'Last Name'.Length返回0 – JamesQMurphy
我收到不同變量的不同結果。當一個變量的$ var.length返回值爲0.當另一個$ var1.length時,我沒有收到任何回報。當我$ var.gettype()它顯示爲一個字符串,但是當我$ var1.gettype()我收到錯誤'你不能調用一個空值表達式的方法。從標籤分隔文件導入後,這兩個變量都是空的。 – user3175140
我已經把它分解如下,我用我原來的帖子使用不同的標題名稱; $ List = Import-Csv C:\ Users \ jsmith \ Documents \ file.out -Delimiter「t」-Header「ID」,「Date」,「First Name」,「Mid。Name」,「postOfficeBox」 的ForEach($在$列表記錄){$ = middleName_file_value $記錄。 「中秋節。名稱」 \t $ middleName_file_value \t $ POBox_file_value = $ record.postOfficeBox \t $ POBox_file_value \t} – user3175140