質問: last_df.split(':') #[:]で列を分割 #テスト用 print(csv_df) csv_df.to_csv("aaa.csv") #[aaa.csv]というファイル名で出力 ``` .split(':') がない状態であれば、(文字列分割は行えませんが)出力に成功します。 ですが、.splitを追加するとできません。 また、str.split() というようにすると、今度は **・・・** **AttributeError: 'DataFrame' object has no attribute 'str'** というエラーになってしまいます。 実現したいこと(入力⇒出力) -------------- Exselで表すと以下の通りです。 1. 以下のようなデータを含むcsvファイルが複数ある ![イメージ説明](https://teratail.storage.googleapis.com/uploads/contributed_images/5c6f2196cf5c2ba0d3afa64b8c204f04.png) 2. すべてのcsvを読み込み、(横に)結合する。 ![イメージ説明](https://teratail.storage.googleapis.com/uploads/contributed_images/5c4a953797030ae0f9816e99e6ce5994.png) 3. 「:」で文字列を分割し、再びcsvで出力する。 ![イメージ説明](https://teratail.storage.googleapis.com/uploads/contributed_images/ce214ce717a661352d34c18f9d5af854.png) --- 実行環境はpython2.7及びpython3.7のどちらも実行してみましたが、同じようなエラーが出現します。 どうすれば目指していることができるようになりますか? よろしくお願いします。 --- <追記> ・sourceを少し修正しました。
回答: > > csv_df = last_df.split(':') #[:]で列を分割 > > > last_df が オブジェクトで、文字列でないから、 split出来ないという事ですね。 str(last_df).split(':') で、分割できました。 とすると、csv_df.to_csv() が pands オブジェクトで無いので、こっちが NG さて、、、 ~~分かったところまで。~~ ちょっと調べてみました。 (既に解決済み?) まず、 > > csv_file = (pd.read_csv(f) for f in all_files) > > > ここが、ダメ。 この方法では2つのCSVファイルがそのまま、連結されます。 `csv_file = [pd.read_csv(f, header=None, sep=':') for f in all_files]` として、配列にしましょう。 ついでに、":" をセパレータ。 (良いか?) そして、 > > last_df = pd.concat(csv_file, axis=1 ,ignore_index=False) > > > あ、ここ、直ってますね。 > > csv_df.to_csv("aaa.csv") > > > を `csv_df.to_csv("aaa.csv", header=None, index=None)` とすれば、良いのでは?