2010-12-14 33 views
17

我有內容的csv文件:旁路擅長的領域CSV公式換算開始用+或 -

"x","y","-z" 

當我導入它,我得到:

alt text

我怎樣才能繞過這個轉換?

更新

如果你嘗試:

"x","y",="-z,a" 

的 「一個」 不導入。

如果你把前面的空間:

"x","y",=" -z" 

"x","y"," -z" 

它會正常工作

+0

最佳答案是由MikeD – Chris 2016-02-25 19:42:40

回答

8

你的問題是t通過使用CSV擴展名,您迫使excel使用其非常嚴格的CSV約定來解釋文件,而且這通常會違背您嘗試執行的任何操作,除非CSV文件最初由Excel創建。導入此CSV文件的最簡單且最可靠的方法是將其重命名爲TXT文件,然後在Excel中使用導入功能以完全按照您希望的方式強制列。

+1

因此,這是一個手動工作,不可能自動導入這些CSV文件? – 2010-12-15 10:18:36

+0

一點都不,你使用的任何腳本語言當然都有一種操作文件系統的方法。你的問題沒有用任何編程語言標記,所以我認爲你正在手動進行。如果你在Excel中使用VBA,有一個簡單的命令('FileCopy srcFile,srcFile&「.txt」'),它將使用新的擴展名創建文件的臨時副本。打開它之後,可以使用'Kill srcFile&「.txt」' – Alain 2010-12-15 13:20:54

11

前綴值與等號

="x",="y",="-z" 
+0

有沒有辦法將它作爲文本導入而不在前面放置「'」? – 2010-12-14 11:32:36

+0

如果不使用CSV以外的格式,我不這麼認爲。根據CSV中每列的文本,Excel的行爲會有所不同。看起來,如果你提供一個字符(如x),它將顯示爲一個字符,但是如果你用一個數學運算符在一個字符的前面(即 - )Excel試圖引用一個單元格作爲一個數字,情況z)。 – Seidr 2010-12-14 11:37:23

+0

有趣的是,如果你有「x」,「y」,=「 - z,a」,那麼「a」甚至不會被導入! – 2010-12-14 11:53:41

6

我在Excel 2003中嘗試了您的第一個示例,並可能重現您的#NAME eror。

我的解決方案是打開文本文件並在導入嚮導(第3頁)中將第3列指定爲「文本」 - 並選擇正確的分隔符和文本限定符(第2頁)。

無需對文本文件進行更改。

+1

將其清除掉比上述任何一個更好的答案 – Chris 2016-02-25 19:41:43

2

使用Excel>導入和雙擊.CSV文件有完全的區別。使用不同的解析器。

根據以上評論,我發現在「+」或「 - 」符號適用於雙擊.CSV文件大小寫之前預留了空間。所以我的文件現在包含例如

" +14";" -Foo" 
0

我寧願在轉換過程中,直接解決這樣的問題,給予正確的列的格式,例如:使用文本格式應該包含操作跡象列:

Text format on the column

查看此詳細信息:http://ask.osify.com/qa/854

0

查找並替換 的所有實例+' +

單引號和空間的開頭應取消任何+-,或=