2010-01-26 141 views
5

就我所見到的OpenOffice而言,當將文件保存爲csv文件時,將所有字符串括在引號中。Openoffice - CSV導出:有沒有默認的轉義字符?

那麼是否需要轉義字符?

和與此相關的問題:

那麼OpenOffice有一個默認的轉義字符?

+1

這不是真的與編程有關。在csv中,引號是轉義字符 - 「我的名字是」「fred」「」 – 2010-01-26 12:04:26

+1

CSV確實沒有轉義字符。如果一個字段包含一個逗號,那麼它必須被引用,並且如果它包含一個引號,那麼該字段必須被引用,因爲引號 - 「單個」「引號」是包含三個單詞和單引號的字段。 CSV標準(比如它)不能識別「\」。 – 2011-06-09 10:32:29

回答

3

使用引號進行轉義會使解析CSV文件的工具變得更輕鬆。

4

我也想知道在將OpenOffice保存爲csv時是否有選擇轉義字符的方法。 phpmyadmin沒有接受以.ods格式擴展的9,000行50多列,並且在保存爲CSV時似乎沒有辦法選擇轉義字符。

所以我不得不保存爲CSV格式,在Word中打開,並使用一些查找/替換技巧來改變轉義字符\(反斜線)。默認是使用雙引號來轉義雙引號,並且phpmyadmin不會接受該格式。

要正確地將文件轉換爲使用\(反斜槓)逃脫雙引號,你必須這樣做:

  1. 選擇一個佔位符字符串,例如'abcdefg',那 不會發生在csv的任何地方。
  2. 查找/替換「」,」與佔位符(三連勝雙引號)。這是爲了防止在下一步可能是不正確的結果。
  3. 查找/替換‘’(雙引號在一行,代表一個應該被轉義的引用),用「(反斜槓雙引號)。如果你這樣做是沒有查找/替換「」」這是可以想象的,你可以得到一個結果,如‘\’,而不是\‘’安全勝過遺憾。
  4. 查找/與\‘’(反斜槓替換佔位符串雙引號雙引號)

這樣會起作用的,除非您在原始文本字段中連續出現多個雙引號,這會導致多達5個雙引號在生成的.ods或.xlsx csv文件中的一行(每個轉義雙引號包含兩個雙引號,如果在該字段的末尾加上另一個雙引號)

0

在最新版本的LibreOffice(3.4。 4),CSV導出沒有被正確處理phpMyAdmin的。由於LibreOffice沒有提供轉義字符,因此phpMyAdmin默認的「CSV」導入功能「Columns escaped with:」無法正常工作。數據總是不一致的。

然而,使用選項CSV使用沒有工作LOAD DATA,只有輾轉通過選項逃脫列中的值。我認爲phpMyAdmin使用默認的MySQL LOAD DATA命令,因此控制權被傳遞給MySQL進行數據處理。在我的情況下,它導致了準確的數據導入。

相關問題