1行のすべてのデータがカンマで区切られた拡張子.csvのCSVファイルを生成します。
1,2,3,4
1,2,3,4
ファイルは電子メールで送信されますが、顧客がそれを開くと、列にデータが配置されていることがわかります。
そのようなことは可能ですか?
PS:デリミターは自由に変更できます。
1行のすべてのデータがカンマで区切られた拡張子.csvのCSVファイルを生成します。
1,2,3,4
1,2,3,4
ファイルは電子メールで送信されますが、顧客がそれを開くと、列にデータが配置されていることがわかります。
そのようなことは可能ですか?
PS:デリミターは自由に変更できます。
回答:
コンマの代わりにタブを使用します。それがうまくいかない場合は、タブ区切りファイルにxls拡張子を付けてください。
すべてのシステムでcsv
読み取り可能にするだけの場合、文書化されていないトリックがありますSEP=;
。最初の行にwriteがあります。この行は、セパレーターとして使用する文字をEXCELに指示します(実際には、任意の(単一の)文字(;,|@#'
...)を使用できます)
注:この行は、csv
ファイル自体の一部です。それはなりません EXCELでspreadsheedの一部となります。つまり、書き込みまたはエクスポートするためにどのフォーマットを定義しても、表示されず、書き込まれません。
CSVファイルを開くときにエクセルの動作が重く、ローカル設定と使用に依存してlist separator
下Region and language » Formats » Advanced
。デフォルトでは、ExcelはすべてのCSVがそのセパレーターで保存されたと想定します。CSVが他の国からのものでない限り、これは真実です!
顧客が他の国にいる場合、他の結果が表示される可能性があります。
たとえば、ドイツのExcelでは、米国のようにコンマの代わりにセミコロンが使用されることがわかります。
さらに混乱させるために、この設定は、Excel Options » Advanced » Use system separators
上記のように地域設定の下または地域設定を介して個別に設定できる小数点記号と干渉します。Excelでは、10進タブおよびリスト区切り記号と同じ記号を使用できません。バックアップ区切り文字としてコンマまたはセミコロンが自動的に使用されます。続きを読む
3つのファイルを作成する例を取り上げます。それぞれ異なるセパレータを使用して、Excelで開きます。
COMMA SEMICOLON TAB
Excelと同じではありませんか?私はそうだと思いました。
そのため、同じCSVファイルからXLSに拡張子を手動で変更し、今何が起こっているのか見てみましょう。まず、Excelはファイル拡張子がコンテンツと一致しないという警告をスローし、Excelは内部の内容を推測しようとします。
COMMA SEMICOLON TAB
結論: TAB +名前変更+警告を無視=すべてのシステムで勝ちますか?
たぶん、しかし、私はあなたの国以外の顧客にはそれほど確信が持てないでしょう。
最良の方法は、最初に空のExcelを開き、次にData » Get data from text
セパレータとしてカンマを選択するように顧客に指示することです。
短期的には、他の国から送信されたCSVファイルのみを開く必要がある場合-
ワードパッドでファイルを開き、検索と置換を使用して、発行国が使用したすべての区切り文字を変更し(例:;)、コンマに置き換えます。(例:)。
発行国が別の記号の代わりにコンマを使用していないことを確認してください(たとえば、スペインでは小数点を使用するコンマを使用しているため、カンマを見つけて小数点に置き換えてから他の記号を見つけて交換する必要がありますカンマで)。
長期的な解決策ではありませんが、急いで仕事中にコントロールパネルにアクセスできない場合に、ファイル自体を読みやすくするには十分です。
これに関連した答えは-特にExcelとのMacOS / OSXの問題カンマを認識するための:
に- :列を解析していないエクセル2019正しくCSVを開いていない /superuser//a/1506042/1116939