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

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

新規登録して質問してみよう
ただいま回答率
85.35%
スクレイピング

スクレイピングとは、公開されているWebサイトからページ内の情報を抽出する技術です。

CSV

CSV(Comma-Separated Values)はコンマで区切られた明白なテキスト値のリストです。もしくは、そのフォーマットでひとつ以上のリストを含むファイルを指します。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

Q&A

解決済

2回答

5220閲覧

Python CSV書き込み

seiran

総合スコア16

スクレイピング

スクレイピングとは、公開されているWebサイトからページ内の情報を抽出する技術です。

CSV

CSV(Comma-Separated Values)はコンマで区切られた明白なテキスト値のリストです。もしくは、そのフォーマットでひとつ以上のリストを含むファイルを指します。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

0グッド

0クリップ

投稿2020/07/25 07:31

編集2020/07/25 08:17

ご覧いただきありがとうございます。
恐れ入りますが、csvの書き込みエラーの考えられる原因についてご教授いただけないでしょうか。

Python

1# 文字コードをShift_JISに指定 2with open("sample.csv") as f: 3 # writerオブジェクトの作成 改行記号で行を区切る 4 writer = csv.writer(f, lineterminator="/n") 5 # csvファイルに書き込み 6 writer.writerows(rank_list)

######エラー内容
Error Traceback (most recent call last)
<ipython-input-47-fe7914db838f> in <module>
4 writer = csv.writer(f, lineterminator="/n")
5 # csvファイルに書き込み
----> 6 writer.writerows(rank_list)

Error: iterable expected, not NoneType

なお、rank_listにつきましては、5つの配列となっています。
書ききれないので、一部抜粋します。
[[1344660,
4980,
1371300,
4509,
1372680,
4565,
1375740,
4584,
1377060,
4569,
1378680,
4570,
1381800,
4569,
1384200,
4568,
1387500,
4527,
1417620,
4433,
1419180,
4496,
1431900,
4486,
1452480,

イメージ説明

何卒、宜しくお願い致します。

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

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

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

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

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

ForestSeo

2020/07/25 07:38

rank_list を見せてもらえないとなんとも...
seiran

2020/07/25 07:47

コメントありがとうございます。 申し訳ございません・・・、修正させていただきました。
ForestSeo

2020/07/25 08:30 編集

エラーによるとrank_listの中がNoneになっています。 rank_listは入力でPythonのリストに入れてますか? どこかしらからとってきているものなんですか?(スクレイピングとか)
can110

2020/07/25 08:05

「writer.writerows(rank_list)」行の手前に「print(rank_list)」を入れて出力された結果を追記ください。
seiran

2020/07/25 08:18

すみません、追記できないので、画像添付しました。 配列が5つございまして、その中に配列がございます。
guest

回答2

0

ベストアンサー

rank_listの要素の中にNoneが含まれていると提示エラーが発生します。
以下のようにNoneを取り除いてください。

ほか、以下も修正ください。

  • openにはオープンモードwencodingを指定する
  • linetermitatorには/nではなく\nを指定する

Python

1import csv 2 3rank_list = [[1,"あ"],None,[3,"う"]] 4rank_list = [line for line in rank_list if line is not None] # _csv.Error: iterable expected, not NoneType 5with open("sample.csv", "w", encoding="shift_jis") as f: 6 writer = csv.writer(f, lineterminator="\n") 7 writer.writerows(rank_list)

投稿2020/07/25 08:27

can110

総合スコア38341

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

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

seiran

2020/07/25 10:10

お蔭様で解決することが出来ました、ありがとうございます!! Noneが入っていてエラーとなっていたようです。今後に活かして参ります。
guest

0

6行目でメソッド writerows() の引数として iterable 型の変数を期待しているのに
変数 rank_list の値が None です
変数 rank_list の要素に None が含まれています

投稿2020/07/25 07:37

編集2020/07/25 08:39
y_shinoda

総合スコア3272

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

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

seiran

2020/07/25 07:47

コメントありがとうございます。 rank_listが配列であることが、影響しているでしょうか??
y_shinoda

2020/07/25 08:39

回答の内容が誤っていたので修正しました
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.35%

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

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

質問する

関連した質問