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

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

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

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

pandas

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

Q&A

解決済

1回答

461閲覧

[pandas KeyError: 3] 既存のCSVの内容を別のCSVに追記したい

Yukiya025

総合スコア86

Python 3.x

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

pandas

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

0グッド

0クリップ

投稿2018/10/19 05:59

編集2018/10/19 08:07

こんにちは! 2つのCSVをひとつにまとめたいのですが、うまくいきません。
以下の.pyコードを実行すると、KeyError: 3が出ます。
そもそも辞書ではなくリストとしてCSVファイルを作っているのですが、このコードのどこがまずいのでしょうかorz

なかなか惜しい気もするのですが、これ以上どうやって指定したら良いのかわかりません(T_T)
よろしくお願いしますm(__)m

  • pandas: 0.23.4
  • python3

python

1def add_info(): 2 info1 = open('bk_info.csv', 'r') 3 info1_w = info1.read() 4 title_csv = pd.read_csv('Oreilly.csv', sep=",") 5 title_csv["Auth"] = '' 6 title_csv["Date"] = '' 7 title_csv["Pages"] = '' 8 for index, row in title_csv.iterrows(): 9 title_csv[3][index] = info1_w[0][index] 10 title_csv[4][index] = info1_w[1][index] 11 title_csv[5][index] = info1_w[2][index] 12 13 title_csv.to_csv('Oreilly.csv', index=False) 14 15add_info()

Oreilly.csv

csv

1# Oreilly.csv 2No,Title,Link 31,Javaネットワークプログラミング 第2版,https://www.oreilly.co.jp/books/4873110610/ 42,C++プログラミング入門 新版,https://www.oreilly.co.jp/books/4873110637/ 53,サーバ負荷分散技術,https://www.oreilly.co.jp/books/4873110653/ 64,NFS & NIS 第2版,https://www.oreilly.co.jp/books/4873110785/ 75,不正アクセス調査ガイド,https://www.oreilly.co.jp/books/4873110793/ 8

bk_info.csv

csv

1# bk_info.csv 2Auth,Date,Pages 3Elliotte Rusty Harold 著、戸松 豊和 監訳、田和 勝 訳,2001-10-01,832 4"Gregory Satir, Doug Brown 著、望月 康司 監訳、谷口 功 訳",2001-11-01,240 5"Tony Bourke 著、鍋島 公章 監訳、上谷 一, 横山 晴庸 訳",2001-12-01,232 6"Hal Stern, Mike Eisler, Ricardo Labiaga 著、砂原 秀樹 監訳、木下 哲也 訳",2002-04-01,600 7"渡辺 勝弘, 伊原 秀明 著",2002-04-01,328

望む結果
Oreilly.csv

csv

1# Oreilly.csvにbk_info.csvを追記 2No,Title,Link,Auth,Date,Pages 31,Javaネットワークプログラミング 第2版,https://www.oreilly.co.jp/books/4873110610/,Elliotte Rusty Harold 著、戸松 豊和 監訳、田和 勝 訳,2001-10-01,832 42,C++プログラミング入門 新版,https://www.oreilly.co.jp/books/4873110637/, "Gregory Satir, Doug Brown 著、望月 康司 監訳、谷口 功 訳",2001-11-01,240 5... 6...

できましたー(≧∇≦)b

magichan様がめっちゃシンプルなコードを見せてくれて解決しました! ありがとうございます<3

python

1def add_info(): 2 info1 = pd.read_csv('bk_info.csv') 3 title_csv = pd.read_csv('Oreilly.csv') 4 title_csv.join(info1).to_csv('out.csv', index=False) 5add_info()

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

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

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

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

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

t_obara

2018/10/19 07:05

単に行単位での結合であれば、pasteコマンド使えばとも思うのですが、そうじゃないんですよね、きっと
Yukiya025

2018/10/19 08:05

t_obara様、こんにちは(≧▽≦) > pasteコマンド使えば pasteコマンドは初耳です^^; とりあえず本のタイトルやリンク、内容詳細を一つのファイルにしたいです。
guest

回答1

0

ベストアンサー

両方のCSVを共に pandas で読み込んで結合したほうが簡単かと思います。

Python

1info1 = pd.read_csv('bk_info.csv') 2title_csv = pd.read_csv('Oreilly.csv') 3title_csv.join(info1).to_csv('out.csv', index=False)

投稿2018/10/19 06:44

magichan

総合スコア15898

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

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

Yukiya025

2018/10/19 07:59

magichan様、ありがとうございます! こんなにシンプルにできるとは(゚д゚)
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問