質問編集履歴
3
修正のため
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
|
+

|
37
|
+
|
38
|
+
名前をA列の1行目、日付をB列の1行目、内容をC列の1行目に出力したいのです。コメントアドバイスをお願いいたします。
|
39
|
+
|
31
40
|
### 発生している問題・エラーメッセージ
|
32
41
|
|
33
42
|
```
|
34
|
-
pythonでのエラーメッセージは出ていません。Excelでの出力を確認すると、
|
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=
|
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,
|
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
間違えて記載しました。修正です。
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
|
7
|
+
ExcelのA列に<p class="d-chat_timeline-name"> 名 前(発信者)1 </p>、
|
8
8
|
|
9
|
-
ExcelのB
|
9
|
+
ExcelのB列に<ul class="d-chat_timeline-info">
|
10
10
|
<li>日付と時間1</li>、
|
11
11
|
|
12
|
-
ExcelのC
|
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
題名を短くした
title
CHANGED
@@ -1,1 +1,1 @@
|
|
1
|
-
htmlデータからExcelへの出力、Excel1行の出力から数行に
|
1
|
+
htmlデータからExcelへの出力、Excel1行の出力から数行にしたい
|
body
CHANGED
File without changes
|