teratail header banner
teratail header banner
質問するログイン新規登録

質問編集履歴

3

修正のため

2019/07/12 12:00

投稿

Kirari
Kirari

スコア32

title CHANGED
File without changes
body CHANGED
@@ -1,4 +1,4 @@
1
- ### 前提・実現したいこと
1
+ ### 前提・実現したいこと 
2
2
 
3
3
  htmlデータからExcelへの出力、Excel1列の出力から数列に分離したいのです。
4
4
 
@@ -28,21 +28,36 @@
28
28
  名前1-3(受信者)<br />
29
29
  内容1</div>
30
30
 
31
+ 2019/07/12 20:52追記 修正
32
+
33
+ 下記のプログラムを実行しました。
34
+ 下記のhtmlデータ<p class="d-chat_timeline-name"> 名前</p>はA列の2行目、<ul class="d-chat_timeline-info">日付</li>はB列の14行目、<div>内容</div>はC列の3行目に出力されてしまいます(参照1)。
35
+
36
+ ![参照1](a7ede2a5b170a129242a06423c1fcc20.png)
37
+
38
+ 名前をA列の1行目、日付をB列の1行目、内容をC列の1行目に出力したいのです。コメントアドバイスをお願いいたします。
39
+
31
40
  ### 発生している問題・エラーメッセージ
32
41
 
33
42
  ```
34
- pythonでのエラーメッセージは出ていません。Excelでの出力を確認すると、A列に出力されている。
43
+ pythonでのエラーメッセージは出ていません。Excelでの出力を確認すると、ばらばらの行で出力される。
35
44
  ```
36
45
 
37
46
  ### 該当のソースコード
38
47
 
39
48
  ```python
49
+ # -*- coding: utf-8 -*-
50
+ """
51
+ Spyderエディタ
52
+
53
+ これは一時的なスクリプトファイルです
54
+ """
55
+
40
56
  import os, tkinter, tkinter.filedialog, tkinter.messagebox
41
57
  root = tkinter.Tk()
42
58
  root.withdraw()
43
59
  fTyp = [("","*.html")]
44
-
45
- file="/Users/XXXXXX/Desktop/message1.html"
60
+ file = tkinter.filedialog.askopenfilename(filetypes = fTyp)
46
61
  fd=open(file,"r",encoding="utf-8")
47
62
 
48
63
  res=fd.read()
@@ -60,7 +75,20 @@
60
75
  mojie.append(res[cur_pos + start_pos + len(target_tag) : cur_pos + end_pos])
61
76
 
62
77
  cur_pos = cur_pos + end_pos + len(closing_tag)
78
+
79
+
63
-
80
+ import xlsxwriter
81
+ wb = xlsxwriter.Workbook('C:/Users/XXXXXXXX/Desktop/out.xlsx')
82
+ ws1 = wb.add_worksheet('sheet')
83
+
84
+ i=0
85
+ for a in mojie:
86
+ i=i+1
87
+ ws1.write(i, 0, a)
88
+
89
+ mojie=[]
90
+ cur_pos=0
91
+ while True :
64
92
  target_tag = '<ul class="d-chat_timeline-info">'
65
93
  closing_tag = '</li>'
66
94
  start_pos = res[cur_pos:].find(target_tag)
@@ -70,7 +98,17 @@
70
98
  mojie.append(res[cur_pos + start_pos + len(target_tag) : cur_pos + end_pos])
71
99
 
72
100
  cur_pos = cur_pos + end_pos + len(closing_tag)
101
+
102
+
103
+
73
-
104
+ i=0
105
+ for a in mojie:
106
+ i=i+1
107
+ ws1.write(i, 1, a)
108
+
109
+ mojie=[]
110
+ cur_pos=0
111
+ while True :
74
112
  target_tag = '<div>'
75
113
  closing_tag = '</div>'
76
114
  start_pos = res[cur_pos:].find(target_tag)
@@ -80,23 +118,20 @@
80
118
  mojie.append(res[cur_pos + start_pos + len(target_tag) : cur_pos + end_pos])
81
119
 
82
120
  cur_pos = cur_pos + end_pos + len(closing_tag)
83
-
84
- import xlsxwriter
85
- wb = xlsxwriter.Workbook('/Users/XXXXXXX/Downloads/out.xlsx')
86
- ws1 = wb.add_worksheet('sheet')
87
121
 
122
+
123
+
88
124
  i=0
89
125
  for a in mojie:
90
126
  i=i+1
91
- ws1.write(i, 0, a)
127
+ ws1.write(i, 2, a)
92
-
128
+
93
129
  wb.close()
94
130
 
95
131
  ```
96
132
 
97
133
  ### 試したこと
98
134
 
99
- エクセルの書き出し構文ws1.write(i, 0, a)の変数を変えたりしましたが、うまくいきませんでした。
100
135
 
101
136
  ### 補足情報(FW/ツールのバージョンなど)
102
137
 

2

間違えて記載しました。修正です。

2019/07/12 12:00

投稿

Kirari
Kirari

スコア32

title CHANGED
@@ -1,1 +1,1 @@
1
- htmlデータからExcelへの出力、Excel1の出力から数にしたい
1
+ htmlデータからExcelへの出力、Excel1の出力から数にしたい
body CHANGED
@@ -1,15 +1,15 @@
1
1
  ### 前提・実現したいこと
2
2
 
3
- htmlデータからExcelへの出力、Excel1の出力から数に分離したいのです。
3
+ htmlデータからExcelへの出力、Excel1の出力から数に分離したいのです。
4
4
 
5
- htmlデータからpythonでExcelへの出力をしたいのです。下記プログラムでExcelへの出力をすることはできたのですが、Excelを開くとAに全て出力されてしまいます。
5
+ htmlデータからpythonでExcelへの出力をしたいのです。下記プログラムでExcelへの出力をすることはできたのですが、Excelを開くとAに全て出力されてしまいます。
6
6
 
7
- ExcelのAに<p class="d-chat_timeline-name"> 名 前(発信者)1 </p>、
7
+ ExcelのAに<p class="d-chat_timeline-name"> 名 前(発信者)1 </p>、
8
8
 
9
- ExcelのBに<ul class="d-chat_timeline-info">
9
+ ExcelのBに<ul class="d-chat_timeline-info">
10
10
  <li>日付と時間1</li>、
11
11
 
12
- ExcelのCに<div>名前1-1(受信者)<br />
12
+ ExcelのCに<div>名前1-1(受信者)<br />
13
13
  名前1-2(受信者)<br />
14
14
  名前1-3(受信者)<br />
15
15
  内容1</div>
@@ -31,7 +31,7 @@
31
31
  ### 発生している問題・エラーメッセージ
32
32
 
33
33
  ```
34
- pythonでのエラーメッセージは出ていません。Excelでの出力を確認すると、Aに出力されている。
34
+ pythonでのエラーメッセージは出ていません。Excelでの出力を確認すると、Aに出力されている。
35
35
  ```
36
36
 
37
37
  ### 該当のソースコード

1

題名を短くした

2019/07/12 01:13

投稿

Kirari
Kirari

スコア32

title CHANGED
@@ -1,1 +1,1 @@
1
- htmlデータからExcelへの出力、Excel1行の出力から数行に分離したい
1
+ htmlデータからExcelへの出力、Excel1行の出力から数行にしたい
body CHANGED
File without changes