0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

pythonを用いたexcel操作-ハイパーリンクの取得-

Last updated at Posted at 2024-11-26

概要

今回はpythonによるexcel操作するプログラムを書いてみました。
学習のメモ程度に記述していますのでご承知ください。

参考

実行環境

・windows:Windows11Pro 23H2
・python:3.12.3

ソースコード

test.py
import pandas as pd
import sys
import openpyxl

# Excelファイルを読み込む inputファイル
input_file = sys.argv[1]
wb = openpyxl.load_workbook(input_file)

# 新しいExcelファイルにデータを書き込む ハイパーリンクも保存する
output_file = 'output_file.xlsx'
wb.save(output_file)

print(f'{input_file} から {output_file} へコピー完了しました!')


'''
# セルのハイパーリンクと文字列を取得して配列に格納する
'''
# Excelファイルを読み込む outputファイル
df = pd.read_excel(output_file)
wb = openpyxl.load_workbook(output_file)
ws = wb.active

link = []
for row in ws.iter_rows():
    for cell in row:
        if cell.hyperlink:
            hyperlink = cell.hyperlink.target
            text = cell.value
            print(f'ハイパーリンク: {hyperlink}, 文字列: {text}')
            temp_text_hype = []
            temp_text_hype.append(text)
            temp_text_hype.append(hyperlink)
            link.append(temp_text_hype)

print(link)

'''
# データフレームのすべてのセルデータを1つずつ取得(pandasで一行ずつ取得)
'''
for index, row in df.iterrows():
    # print(row.values)
    cell_data = ', '.join(map(str, row.values))
    print(cell_data)

'''
# 特定の列のデータを取得(例として 'ColumnName' 列を取得)
'''
# 取得したい列タイトル
titles = ['番号','文献リンク','ログ']
column_data = df[titles[2]].tolist()
print(column_data)

# 文字列をカンマ区切りに分割する
for i in column_data:
    print(i)
    temp = i.split(',')
    temp_num = len(temp)
    print(temp)
    print(temp_num)
0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?