データを列に配置したCSVファイルをExcelで強制的に開く方法


32

1行のすべてのデータがカンマで区切られた拡張子.csvのCSVファイルを生成します。

1,2,3,4
1,2,3,4

ファイルは電子メールで送信されますが、顧客がそれを開くと、列にデータが配置されていることがわかります。

そのようなことは可能ですか?

PS:デリミターは自由に変更できます。


1
私が懸念している限り、データ自体をExcelにインポートする以外に何もできません。Excelはデータ自体の構造(使用する区切り記号、小数の形式、一般的な形式など)データの)。
-slhck

@slhck答えを見てください
Timofey

ああ、Excelでこれができるとは知らなかった。良いですね。
-slhck

1
CSVファイルをダブルクリックするだけで、Excelが開き、ファイルが正しく表示されます。私は正しいですか?
ウィルソン

@wilson:.csvファイルを開くにはExcelを関連付ける必要があります。その後、.csvファイルをダブルクリックしてExcelを起動します
Timofey

回答:


9

コンマの代わりにタブを使用します。それがうまくいかない場合は、タブ区切りファイルにxls拡張子を付けてください。


ソリューションのおかげで、.csvをファイル拡張子として残しました
-Timofey

Mac上のExcel 14.7.1では機能しません(2017)
-masukomi

3
「PS:デリミタは自由に変更できます。」この回答の有効性が低くなります
ポールフィマ

Cはコンマを表しているため、CSVファイルの読み込み方法には答えません。
JBernardo

@JBernardo一度だけでしたが、今日では、タブ、パイプ、コンマ、ダッシュ、@、\ 0など、すべての種類の区切り文字を含むcsv拡張子を持つファイルが見つかります。 、および質問の「区切り文字を変更できます」という部分は、この回答を有効にします。
ジョエル・シーホルン

43

すべてのシステムでcsv 読み取り可能にするだけの場合、文書化されていないトリックがありますSEP=;。最初の行にwriteがあります。この行は、セパレーターとして使用する文字をEXCELに指示します(実際には、任意の(単一の)文字(;,|@#'...)を使用できます)

注:この行は、csvファイル自体の一部です。それはなりません EXCELでspreadsheedの一部となります。つまり、書き込みまたはエクスポートするためにどのフォーマットを定義しても、表示されず、書き込まれません。


これは命の恩人でした!ここでうまくいきました!
エティエンヌデュプイ

それはすべての言語で動作するはずのように最善の解決策のIMHO、
mBardos

39

CSVファイルを開くときにエクセルの動作が重く、ローカル設定と使用に依存してlist separatorRegion 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セパレータとしてカンマを選択するように顧客に指示することです。


2
この答えは素晴らしいですが、私はマイクロソフトからこの哀れな気がします。Numbersでcsvを開くと、正しく開きます。Googleシートで開くと、正しく開きます。次に、Excelで開きます。これは、支払いを行う唯一のものであり、...何もありません。リストの区切り文字を設定したことがない人はどうでしょうか?「コンマ」はこの「csv」では何も意味しないので、今はそれを機能させるために時間を無駄にする必要があります。とてもイライラします。
タッチ

>この解決策は私にとって有効です(2013年を超える)。地域の形式を調整します。ドット(。)を「10進数の区切り記号」として、コンマ(、)を「千の区切り記号」として、コンマ(、)を「リスト区切り記号」として設定します-cesargastonec 15年7月13日16時: 05
Alex78191

または、Excelオプションsuperuser.com/a/1470373
Alex78191

1

「.csv」を「.txt」に置き換え、Excelを起動して、その.txtファイルを開くことができます。次に、Excelにアシスタントが表示され、セパレータとして「、」を使用するように指定できます。その後、このファイルを再び.csvとして保存すると、次回Excelが必要な方法でファイルを開きます。


0

この状況で使用した別のソリューションは、CSVではなく基本的なHTMLファイルを出力することでした。Excelはエラーなしでこれを開くことができます。ファイル内のフォーマットの少なくとも一部も読み取ることができます。


0

これは最も馬鹿げた答えですが、うまくいきました。私は毎日CSVファイルを使用しています。私は常にそれらを作成し、Excelで表示します。今日、この問題を12年も見なかった後、私に起こりました。csvファイルを開いて列をフォーマットしません。昨夜Excelで作成したcsvファイルでさえ、1行に1列ずつ開きます。

解決策:Excel.exeのすべての開いているインスタンスのタスクマネージャーを確認します。すべてのインスタンスを強制終了し、csvファイルを再度開きます。

フェイスパーム


0

短期的には、他の国から送信されたCSVファイルのみを開く必要がある場合-

ワードパッドでファイルを開き、検索と置換を使用して、発行国が使用したすべての区切り文字を変更し(例:;)、コンマに置き換えます。(例:)。

発行国が別の記号の代わりにコンマを使用していないことを確認してください(たとえば、スペインでは小数点を使用するコンマを使用しているため、カンマを見つけて小数点に置き換えてから他の記号を見つけて交換する必要がありますカンマで)。

長期的な解決策ではありませんが、急いで仕事中にコントロールパネルにアクセスできない場合に、ファイル自体を読みやすくするには十分です。


0

私は同じ問題に出くわしました。Excelが誤って解析され、インポートウィザードが必要なCSVファイルがありました。

簡単な修正は、CSVの名前をTXTに変更することで、ウィザードが起動して列構造を正しく認識できるようになりました。


弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.