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

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

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

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

Q&A

解決済

1回答

1442閲覧

txtファイルからpythonでエクセル表

umemaru

総合スコア2

Python 3.x

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

0グッド

0クリップ

投稿2022/12/12 12:26

前提

python始めたです。
pythonを使って表を作成したいです。

実現したいこと

テキストファイルのデータをリスト化してエクセルのB2に挿入したいです。
テキストファイルのデータはタブ区切りで書かれています。

data1.txt    

イメージ説明
この後も数字が続いているとしてお願いいたします。

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

1つのセルに複数の要素が入っています。

現在の問題
イメージ説明

理想
イメージ説明

該当のソースコード

python

1import openpy as op 2 3with open("data1.txt", "r") as file: 4 lines = file.read().split("\t") 5 file.close() 6 7wb = op.Workbook() 8ws = wb.active 9 10l = 0 11for i in range(2,3): 12 for j in range(2,len(lines)): 13 ws.cell(row = j, column = i).value = str(lines[l]) 14 l += 1 15wb.save("data.xlsx") 16

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

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

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

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

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

guest

回答1

0

ベストアンサー

例えば以下のようなスクリプトでどうでしょうか?

  • file.readlines()で行単位で読み込んだ後、split("\t")でタブ単位に分割しています。

python

1import openpyxl as op 2 3with open("data1.txt", "r") as file: 4 lines = [line.rstrip().split("\t") for line in file.readlines()] 5 file.close() 6 7wb = op.Workbook() 8ws = wb.active 9 10for i in range(len(lines[0])): 11 for j in range(len(lines)): 12 ws.cell(row = j + 2, column = i + 2).value = float(lines[j][i]) 13 14wb.save("data.xlsx")

投稿2022/12/12 14:31

knuser

総合スコア178

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

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

umemaru

2022/12/13 06:37

ありがとうございます。 一回読み込んだ後に区切ることができるんですね 無事解決することができました ありがとうございます!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.47%

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

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

質問する

関連した質問