質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

pandas

Pandasは、PythonでRにおけるデータフレームに似た型を持たせることができるライブラリです。 行列計算の負担が大幅に軽減されるため、Rで行っていた集計作業をPythonでも比較的簡単に行えます。 データ構造を変更したりデータ分析したりするときにも便利です。

Q&A

解決済

1回答

1864閲覧

Pythonで複数のCSVファイルをひとつのファイルに結合できない

Danrussia

総合スコア44

Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

pandas

Pandasは、PythonでRにおけるデータフレームに似た型を持たせることができるライブラリです。 行列計算の負担が大幅に軽減されるため、Rで行っていた集計作業をPythonでも比較的簡単に行えます。 データ構造を変更したりデータ分析したりするときにも便利です。

0グッド

0クリップ

投稿2019/05/27 12:34

編集2019/05/27 12:54

前提・実現したいこと

Pythonにおいて複数のCSVファイルの結合を行いたいと思っています。

下記のようなコードを実装したのですが、下に載せた画像のように、結合が上手くいきませんでした。
(実装するにあたって、二つのサイトを参考に致しました ・https://teratail.com/questions/172531
https://teratail.com/questions/183976)

Python3

1import pandas as pd 2import glob 3import os 4csv_files = glob.glob('HOGE!HOGE!/*.csv') 5list2 = [] 6for g in csv_files: 7 list2.append(pd.read_table(g,encoding="shift-jis",header=0)) 8CSV_version_DataFrame = pd.concat(list2,sort=False) 9CSV_version_DataFrame.to_csv("AAA.csv")

この下の画像が元のデータセットになるのですが、glob.globで読み込むデータセットのラベルは
全て同じかつ同数で同じ行数です。
イメージ説明
上記のコードを実際に実装した際に生じる結果です。
イメージ説明
イメージ説明

補足情報(FW/ツールのバージョンなど)

Anaconda
Python3.x
pandas
お忙しいとは思いますが、よろしくお願いいたします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

読み込みの際に、pd.read_tableではなくpd.read_csvを使ってください。

両者は別物で、pd.read_tableだと区切り文字がTabのデータとして読み込まれます。実際のファイルの区切り文字はカンマ(,)なので、区切りが検出されず、1列のデータになってしまいます。

pandas.read_csv — pandas 0.24.2 documentation
pandas.read_table — pandas 0.24.2 documentation

pandasの関数pd.read_csv()とpd.read_table()はデフォルトの区切り文字が違うだけで中身は同じ。
read_csv()は区切り文字がカンマ,でread_table()は区切り文字がタブ\t。

pandasでcsv/tsvファイル読み込み(read_csv, read_table) | note.nkmk.me

投稿2019/05/27 12:44

編集2019/05/27 13:03
hayataka2049

総合スコア30933

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

Danrussia

2019/05/27 12:57

Pandasでの画像も追加しました。 txtファイルのデータでは、ちゃんと表示されるのですが、CSVファイルではうまくいかないです。 実際にtxtファイルデータとcsvファイルをdfにして結合を行うとしても上手くいかないです。
hayataka2049

2019/05/27 13:01

回答の修正の通りです。
Danrussia

2019/05/27 13:14

解決しました... かなり初歩的なミスを犯してたみたいですね 以後気を付けます。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問