見出し画像

文系の私がしょうがなくPythonを使う話

日経ソフトウェア2023年3月号表紙右下の「企業財務分析プログラムを作る」ってのだけやろうと思って雑誌購入(40~51ページ)ここだけ読みたいんだから図書館でコピーしたらいいのに、置いてある図書館が分からなかったのでとりあえず購入、2140円。

前からコーディングのミートアップに週末行ったりしてたけど、(何も知らないところから始めるので誰かに質問出来る様に、外国人率多い)ふと疑問に思ったのでメンバーに英語で聞いてみる。「仕事で平日フルタイム勤務でコーディングして週末もわざわざ集まって何時間もやるの?飽きない?Just curious」日本語で聞くとずうずうしいかなと思う事も英語ではフラットに聞けるので便利。返事は楽しくてやってる、と。単にソーシャルなミートアップに参加したけど、表面的な話しか出来なくて自分はいいかなって、自分の興味のある話も出来るし楽しいよ、と。好きこそものの上手なれ、だね。私は気が狂いそうだけど。。コーディング自体に興味は無いので、とりあえず自分のしたい事をお手本コピーとかしてやるだけでいいんだ。

雑誌の11ページしかない部分をとりあえず読んで手を動かしてやってみる。(すでにやる気無い)英語苦手な人もこんな気持ちなんだと思う。「やれば出来るんだろうけど、とりあえず心理的抵抗が大きくてやる気でない」この感じ。やるか。

まずはEdinetから有価証券報告書のデータを取り出します、と。EdinetのAPIを使って、XBRL形式の有価証券報告書のデータを取得するPythonプログラムを作成しましょう。
手順1:日付、企業コード、書類種別を指定し、該当する書類の書類管理番号を取得する。
手順2:手順1で取得した「書類管理番号」を指定し、該当する書類データ(XBRL)をパソコンに保存する。

APIを使って有価証券報告書のデータを取得するいは「Requests」というPyhonモジュールが必要です。まずインストールしましょう。
はい。「コマンドプロンプトを開き」どれだよ。
コマンドプロンプトの起動は、[スタート] ボタンから [Windowシステムツール]、[コマンドプロンプト] の順にクリックします。はい開けた。
コマンドプロンプトに「pip install requests」と入力、エンターキーをおします。はいエラーでた。

'pip' is not recognized as an internal or external command,
operable program or batch file.

これを真似してSuccessしたっぽい。もう既に疲れた。2ページも進まない。

CドライブにAnalyseフォルダーを作ります。このフォルダーにプログラムのファイルを作成していきます。雑誌のコードを真似していく。ここから自分なりにまとめる事は不可能。興味ある方は図書館で閲覧するとかしてね。

新しい版(第2版)が出たばかりみたいなので、これも読んでみる。

ChatGPT先生に基本を聞いてみる

質問が基本過ぎたけど、めちゃ張り切って教えてくれるやん。先生私がんばります。

Q: Can you tell me how I can code by using Python?

A: Certainly! Python is a popular programming language that is known for its simplicity and readability. Here are some steps you can follow to start coding in Python:

  1. Install Python on your computer: You can download Python from the official website (https://www.python.org/downloads/) and follow the installation instructions.

  2. Choose a text editor or IDE: A text editor is a program that you can use to write and edit your code. Some popular text editors for Python include Visual Studio Code, Sublime Text, and Atom. Alternatively, you can use an Integrated Development Environment (IDE) like PyCharm, Spyder, or IDLE.

  3. Write your first program: Once you have installed Python and chosen a text editor or IDE, you can start writing your first Python program. Open your text editor or IDE and create a new file. Then, type the following code:

pythonCopy codeprint("Hello, World!")

This is a simple program that prints the message "Hello, World!" to the console.

  1. Save your program: Save your program with a .py extension, for example, "hello_world.py".

  2. Run your program: To run your program, open a terminal or command prompt and navigate to the directory where your program is saved. Then, type "python hello_world.py" and press enter. Your program should run and you should see the message "Hello, World!" printed to the console.

Congratulations, you have written and run your first Python program! From here, you can continue learning Python by exploring its features and syntax, and building more complex programs. There are many resources available online, including tutorials, documentation, and communities where you can ask for help and collaborate with other Python developers.

更に質問してみる

Q: I wanna create program extracting financial data from edinet website (Japanese companies) by using python can you tell me the code?

A: Sure! Here is a basic code to extract financial data from the EDINET website for Japanese companies and perform subtraction:

pythonCopy codeimport requests
from bs4 import BeautifulSoup

# URL for the financial data of a company (replace with desired company's URL)
url = 'https://disclosure.edinet-fsa.go.jp/E01EW/BLMainController.jsp?uji.verb=W1E63010CXP001002DSPSch&uji.bean=ee.bean.parent.EECommonSearchBean&TID=W1E63011&PID=W0EZ0001&SESSIONKEY=1487154622707&SEQ=009&SEARCH=1&selectradio=005&types=0&companyCode=1234567890&lgKbn=2&startDate=&endDate=&date=&results=&pageNum=1&documentType=-1&industryCode=-1&reportCode=-1&minYear=-1&maxYear=-1&moneyType=-1&coType=-1&isDetail=true'

# Send request and get the response
response = requests.get(url)

# Parse the HTML content of the response using BeautifulSoup
soup = BeautifulSoup(response.content, 'html.parser')

# Find the relevant elements in the HTML using BeautifulSoup
revenue_element = soup.find('td', string='売上高')
profit_element = soup.find('td', string='営業利益')
net_income_element = soup.find('td', string='当期純利益')

# Extract the numerical values from the elements and convert them to integers
revenue = int(revenue_element.find_next_sibling().string.replace(',', ''))
profit = int(profit_element.find_next_sibling().string.replace(',', ''))
net_income = int(net_income_element.find_next_sibling().string.replace(',', ''))

# Perform subtraction of financial data
net_profit = revenue - profit - net_income

# Print the result
print('Net Profit:', net_profit)

In this code, we first import the necessary libraries - requests and BeautifulSoup - to send HTTP requests and parse HTML content. Then, we specify the URL for the financial data of a particular company on the EDINET website. You will need to replace the companyCode parameter in the URL with the actual code of the company you want to extract data for.
Next, we send a request to the URL using the requests library and parse the HTML content of the response using BeautifulSoup. We then use find() and find_next_sibling() methods of BeautifulSoup to locate the relevant HTML elements that contain the financial data we want to extract.
After extracting the numerical values from the HTML elements and converting them to integers, we perform the subtraction of financial data to calculate the net profit. Finally, we print the result to the console.
Note that the code above is a basic example and may need to be modified or extended depending on the specific requirements of your project.



この記事が気に入ったらサポートをしてみませんか?