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

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

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

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

Q&A

解決済

1回答

3523閲覧

np.savetxtがエラーになりセーブ出来ない

shiraishi_kiich

総合スコア20

Python 3.x

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

0グッド

0クリップ

投稿2021/12/31 04:38

前提・実現したいこと

txtファイルを読込み加工した後np.savetxtでセーブしようとしましたがエラーになりセーブできません。
textファイルの読み込みセーブはnp.loadtxt np.savetxtを使用してます。なお最後にf.closeをするとエラー
が発生します。自分はopen closeがセットになっているため、loadしたらsaveしないとまずいのかと思っています。
セーブできない原因とsavetxtがうまくいけばcloseは必要ないかについて教えて下さい。
また、np.savetxtの書式についても教えて下さい。
https://deepage.net/features/numpy-loadsavetxt.htmlの内容をを参考にしました。

発生している問題・エラーメッセージ

B08 B09 3S N 4 170 9.5 print(trv_2017khk_1)の実行結果(ここまでは正常) A19 A11 2S N 4 170 9.5 同上 C17 C05 3S N 3 140 4.5 同上 C04 C07 3S N 3 140 4.5 同上 B16 B07 3S N 3 140 4.5 同上 B17 B11 2S N 3 140 4.5 同上 A09 A20 4S N-1 50 2 同上 A02 A22 4S N-2 100 0.5 同上 C11 C16 4S N-2 100 0.5 print(trv_2017khk_1)の実行結果(ここまでは正常) Traceback (most recent call last): File "c:\Users\shiraishikiichi\pytext\scrap.py", line 17, in <module> np.savetxt(trv_2017khk_1) File "<__array_function__ internals>", line 4, in savetxt TypeError: _savetxt_dispatcher() missing 1 required positional argument: 'X' PS C:\Users\shiraishikiichi\pytext>エラーメッセージ

該当のソースコード

python

1import tkinter as tk 2from tkinter.constants import NORMAL 3import requests 4import numpy as np 5from bs4 import BeautifulSoup 6 7f = np.loadtxt('trv_2017khk_1.txt',dtype = 'str') 8print(f) 9load_url = "https://sendaibc.sakura.ne.jp/traveling/trv_2017khk_1.txt" 10html = requests.get(load_url) 11 12soup = BeautifulSoup(html.content, "html.parser") 13trv_2017khk_1 = soup    **ここまでは正常に動作** 14#print(f) 15 16print(trv_2017khk_1) 17np.savetxt(trv_2017khk_1) 18f.close() 19

試したこと

np.savetxt(trv_2017khk_1)でもnp.savetxt("trv_2017khk_1")でも同じでした。

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

ここにより詳細な情報を記載してください。

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

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

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

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

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

shiraishi_kiich

2021/12/31 05:36

ありがとうございます。回答の通りに修正した所下記のエラーm、エッセージが表示されました。 Traceback (most recent call last): File "C:\Users\shiraishikiichi\AppData\Local\Programs\Python\Python39\lib\site-packages\numpy\lib\npyio.py", line 1435, in savetxt v = format % tuple(row) + newline TypeError: must be real number, not numpy.str_ The above exception was the direct cause of the following exception: Traceback (most recent call last): File "c:\Users\shiraishikiichi\pytext\scrap.py", line 17, in <module> np.savetxt("trv_2017khk_1.txt", trv_2017khk_1) File "<__array_function__ internals>", line 5, in savetxt File "C:\Users\shiraishikiichi\AppData\Local\Programs\Python\Python39\lib\site-packages\numpy\lib\npyio.py", line 1437, in savetxt raise TypeError("Mismatch between array dtype ('%s') and " TypeError: Mismatch between array dtype ('<U32414') and format specifier ('%.18e') よろしくお願いいたします。array typeでないとだめなのでしょうか。
melian

2021/12/31 05:40

はい、savetxt は保存対象が array type であることが前提になっています。それから、 trv_2017khk_1 = soup とされていますが、これは trv_2017khk_1 = soup.text としないと中身(テキストデータ)が取れません。
melian

2021/12/31 06:33 編集

それですとテキストデータのままなので、numpy.ndarray に変換する何らかの操作が必要になるはずです。それと、 print(type(trv_2017khk_1)) として確認してみるとお判りかと思いますが、trv_2017khk_1 は bs4.BeautifulSoup クラスのインスタンスになっていて、 print(trv_2017khk_1) は trv_2017khk_1.__str__() の実行結果になります。
shiraishi_kiich

2021/12/31 09:56

ありがとうございます。たしかにtrv_2017khk_1のtypeはbs4.BeautifulSoup クラスのインスタンスになっていました。npクラスのインスタンスに出来る方法を考えてみます。meilianさんの回答をベストアンサーに したいのですが他の似た趣旨の回答をベストアンサーとしますのでご了承下さい。
guest

回答1

0

ベストアンサー

np.savetxtはnumpyのndarrayを保存するものです。soupを保存することはできません。

  • np.savetxtの書式についても教えて下さい。

NumPyでCSVファイルを読み込み・書き込み(入力・出力)をお読み下さい。

投稿2021/12/31 05:05

ppaul

総合スコア24666

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

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

shiraishi_kiich

2021/12/31 06:51

savetxtはarrayに対応してように見えます。textファイルを保存する方法はあるのでしょうか。 pythonでは出来ないということは信じられない気持ちです。ダイアログボックスから出来ないか調べてみます。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問