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

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

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

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

Q&A

解決済

1回答

994閲覧

python テキストファイルを読み込めず、エラーすら出ない。どうしたら読み込みできますか?

monmon2

総合スコア17

Python 3.x

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

0グッド

0クリップ

投稿2021/09/09 14:58

pythonからexcelファイルを読み込んで、wordpressに投稿するコードを組もうとしています。初めは、本文に投稿したい文章を、Excelにある複数のセルを取ってきてpost.contentに入れて見たのですが、上書きされてしまうのか、最後に取得したセルの内容しか反映されませんでした。

次に試したのは、複数のセルの文章をforループで取得してリストに入れ、そのリストをテキストファイルに書き込み、そのテキストファイルを読み込んで変数に入れて、テキストファイルに書き込むところまではできましたが、読み込みができません。同じディレクトリに入れてありますし、エラーも出ていません。
変数をprintで確認しても何も表示されませんし、実行してもターミナル上では空白の行が1行表示されるだけです。読み込みができていないので、wordpressの投稿画面にも反映されていません。

一体どうしたら読み込めるのでしょうか?
また、pythonでexcelファイルを読み込んで、複数のセルをwordpress本文に投稿するやり方を知っている方がいましたら、そちらも教えて頂きたいです。
コードが汚いのは目を瞑ってください・・。

python

1from wordpress_xmlrpc import Client, WordPressPost 2from wordpress_xmlrpc.methods.posts import GetPosts, NewPost 3from wordpress_xmlrpc.methods.users import GetUserInfo 4from wordpress_xmlrpc.compat import xmlrpc_client 5import openpyxl 6 7wp = Client('ブログURL','ユーザーID','パス') 8wb = openpyxl.load_workbook('エクセルファイル') 9 10ws = wb.active 11post = WordPressPost() 12 13 14cells = ws['C4:F4'] 15body = [] 16index = 0 17for i in cells: 18 for c in i: 19 body.append(c.value) 20else: 21 with open('con.txt', 'w+') as f: 22 while index < 1: 23 f.write("".join(body)) 24 index += 1 25 continue 26 else: 27 ct_body = f.read() 28 29post.content = ct_body 30 31wp.call(NewPost(post))

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

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

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

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

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

meg_

2021/09/09 15:28

> エラーすら出ない。 f.write("".join(body))のところで"TypeError: sequence item 0: expected str instance, int found"が出ませんか?
monmon2

2021/09/09 21:33

いえ、出ていませんね・・・。
monmon2

2021/09/09 21:49

解決しました!ありがとうございました。
guest

回答1

0

ベストアンサー

質問文からはテキストファイルに保存する必要はないように読めます。
以下でやりたいことはできているように思うのですがいかがでしょうか。

python

1import openpyxl 2 3wb = openpyxl.load_workbook('エクセルファイル') 4ws = wb.active 5 6cells = ws['C4:F4'] 7body = [] 8for i in cells: 9 for c in i: 10 body.append(c.value) 11 12ct_body = "".join(body) 13print(ct_body)

投稿2021/09/09 16:00

etherbeg

総合スコア1195

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

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

monmon2

2021/09/09 21:48

ありがとうございます!!できました! もう一つ分からない事があるんですが、エクセルのセルF4にある文章に、D4ののURLのリンクを挿入した状態で、wordpres本文に入れたいのですが、やり方ご存知でしょうか? 初めからエクセル内でリンクを挿入してもをwordpressで反映されなかったので、どうしたらいいか。もしご存知でしたら教えて頂きたいです。
etherbeg

2021/09/09 22:27

その質問は標題の質問とは別内容の質問になりますので、面倒でも新たな質問として投稿していただきますようお願いします。 コメント欄ではインデントが使えないなど、正確な回答には不向きですし、他の方の目にも触れにくくなります。 またその際は、「初めからエクセル内でリンクを挿入」だけでは何を行なったのか正確にわかりませんので、具体例を記載するなどして、もう少し具体的に説明をしてください。
monmon2

2021/09/10 09:57

説明が下手くそですみません。説明が苦手なもので。 ありがとうございました!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.35%

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

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

質問する

関連した質問