質問編集履歴
8
test
CHANGED
File without changes
|
test
CHANGED
@@ -80,13 +80,7 @@
|
|
80
80
|
|
81
81
|
|
82
82
|
|
83
|
-
wb.save('C:/Users/シート.xlsx')
|
83
|
+
wb.save('C:/Users/シート.xlsx')
|
84
|
-
|
85
|
-
import pandas as pd
|
86
|
-
|
87
|
-
import pyperclip as clp
|
88
|
-
|
89
|
-
|
90
84
|
|
91
85
|
|
92
86
|
|
7
ミス修正
test
CHANGED
File without changes
|
test
CHANGED
@@ -1,12 +1,12 @@
|
|
1
1
|
テキストからエクセルにデータ転送するのに
|
2
2
|
|
3
|
-
クリップボードを使ってみました。(他サイト参考)
|
3
|
+
クリップボードを使ってみました。(他サイト参考)https://stackoverrun.com/ja/q/10105787
|
4
4
|
|
5
5
|
|
6
6
|
|
7
7
|
クリップボードを確認すると間違いなくすべてコピー出来ていますが
|
8
8
|
|
9
|
-
一部消えてしまう文字があります。
|
9
|
+
貼付け時に一部消えてしまう文字があります。
|
10
10
|
|
11
11
|
|
12
12
|
|
6
コードを変更してみました。
test
CHANGED
File without changes
|
test
CHANGED
@@ -88,62 +88,6 @@
|
|
88
88
|
|
89
89
|
|
90
90
|
|
91
|
-
csvファイルを読み込む
|
92
|
-
|
93
|
-
|
94
|
-
|
95
|
-
df = pd.read_csv(rf'C:/Users/p000a05646/pdf.txt', engine='python',
|
96
|
-
|
97
|
-
sep='::',
|
98
|
-
|
99
|
-
header=None)
|
100
|
-
|
101
|
-
|
102
|
-
|
103
|
-
|
104
|
-
|
105
|
-
クリップボードにコピー
|
106
|
-
|
107
|
-
|
108
|
-
|
109
|
-
df.to_clipboard()
|
110
|
-
|
111
|
-
cells = clp.paste()
|
112
|
-
|
113
|
-
cells = [x.split() for x in cells.split('\n')]
|
114
|
-
|
115
|
-
|
116
|
-
|
117
|
-
エクセルを開く
|
118
|
-
|
119
|
-
|
120
|
-
|
121
|
-
wb= openpyxl.load_workbook('C:/Users/シート.xlsx')
|
122
|
-
|
123
|
-
sheet = wb.get_sheet_by_name('test')
|
124
|
-
|
125
|
-
|
126
|
-
|
127
|
-
|
128
|
-
|
129
|
-
|
130
|
-
|
131
|
-
貼り付け
|
132
|
-
|
133
|
-
|
134
|
-
|
135
|
-
for i, r in zip(range(1,len(cells)), cells):
|
136
|
-
|
137
|
-
for j, c in zip(range(1,len(r)), r):
|
138
|
-
|
139
|
-
sheet.cell(row = i, column = j).value = c
|
140
|
-
|
141
|
-
保存
|
142
|
-
|
143
|
-
|
144
|
-
|
145
|
-
wb.save('C:/Users/シート.xlsx')
|
146
|
-
|
147
91
|
|
148
92
|
|
149
93
|
```
|
5
コードを変更してみました。
test
CHANGED
File without changes
|
test
CHANGED
@@ -18,7 +18,69 @@
|
|
18
18
|
|
19
19
|
|
20
20
|
|
21
|
-
import openpyxl
|
21
|
+
```import openpyxl
|
22
|
+
|
23
|
+
import pandas as pd
|
24
|
+
|
25
|
+
import pyperclip as clp
|
26
|
+
|
27
|
+
|
28
|
+
|
29
|
+
csvファイルを読み込む
|
30
|
+
|
31
|
+
|
32
|
+
|
33
|
+
df = pd.read_csv(rf'C:/Users/p000a05646/pdf.txt', engine='python',
|
34
|
+
|
35
|
+
sep='::',
|
36
|
+
|
37
|
+
header=None)
|
38
|
+
|
39
|
+
|
40
|
+
|
41
|
+
|
42
|
+
|
43
|
+
クリップボードにコピー
|
44
|
+
|
45
|
+
|
46
|
+
|
47
|
+
df.to_clipboard()
|
48
|
+
|
49
|
+
cells = clp.paste()
|
50
|
+
|
51
|
+
cells = [x.split() for x in cells.split('\n')]
|
52
|
+
|
53
|
+
|
54
|
+
|
55
|
+
エクセルを開く
|
56
|
+
|
57
|
+
|
58
|
+
|
59
|
+
wb= openpyxl.load_workbook('C:/Users/シート.xlsx')
|
60
|
+
|
61
|
+
sheet = wb.get_sheet_by_name('test')
|
62
|
+
|
63
|
+
|
64
|
+
|
65
|
+
|
66
|
+
|
67
|
+
|
68
|
+
|
69
|
+
貼り付け
|
70
|
+
|
71
|
+
|
72
|
+
|
73
|
+
for i, r in zip(range(1,len(cells)), cells):
|
74
|
+
|
75
|
+
for j, c in zip(range(1,len(r)), r):
|
76
|
+
|
77
|
+
sheet.cell(row = i, column = j).value = c
|
78
|
+
|
79
|
+
保存
|
80
|
+
|
81
|
+
|
82
|
+
|
83
|
+
wb.save('C:/Users/シート.xlsx')import openpyxl
|
22
84
|
|
23
85
|
import pandas as pd
|
24
86
|
|
@@ -81,3 +143,7 @@
|
|
81
143
|
|
82
144
|
|
83
145
|
wb.save('C:/Users/シート.xlsx')
|
146
|
+
|
147
|
+
|
148
|
+
|
149
|
+
```
|
4
コードを変更してみました。
test
CHANGED
File without changes
|
test
CHANGED
@@ -46,11 +46,7 @@
|
|
46
46
|
|
47
47
|
df.to_clipboard()
|
48
48
|
|
49
|
-
#paste the clipboard to a valirable
|
50
|
-
|
51
49
|
cells = clp.paste()
|
52
|
-
|
53
|
-
#split text in varialble as rows and columns
|
54
50
|
|
55
51
|
cells = [x.split() for x in cells.split('\n')]
|
56
52
|
|
@@ -61,8 +57,6 @@
|
|
61
57
|
|
62
58
|
|
63
59
|
wb= openpyxl.load_workbook('C:/Users/シート.xlsx')
|
64
|
-
|
65
|
-
#Get the Sheet
|
66
60
|
|
67
61
|
sheet = wb.get_sheet_by_name('test')
|
68
62
|
|
3
コードを変更してみました。
test
CHANGED
File without changes
|
test
CHANGED
@@ -1,40 +1,16 @@
|
|
1
|
-
|
1
|
+
テキストからエクセルにデータ転送するのに
|
2
2
|
|
3
|
-
何か良い方法はありますか?
|
4
|
-
|
5
|
-
また
|
3
|
+
クリップボードを使ってみました。(他サイト参考)
|
6
|
-
|
7
|
-
基本的な、テキスト→エクセルの方法を教えて頂きますでしょうか。
|
8
4
|
|
9
5
|
|
10
6
|
|
11
|
-
|
7
|
+
クリップボードを確認すると間違いなくすべてコピー出来ていますが
|
12
8
|
|
13
|
-
|
9
|
+
一部消えてしまう文字があります。
|
14
10
|
|
15
11
|
|
16
12
|
|
17
|
-
# csvファイルを読み込む
|
18
|
-
|
19
|
-
frame = pd.read_csv(rf'C:/Users/pdf.txt', engine='python',
|
20
|
-
|
21
|
-
sep='::',
|
22
|
-
|
23
|
-
header=None)
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
# エクセルファイルに書き込む
|
28
|
-
|
29
|
-
writer = pd.ExcelWriter(r"C:/Users/シート.xlsx")
|
30
|
-
|
31
|
-
frame.to_excel(writer,'test',index=False) # header=False
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
# 保存
|
36
|
-
|
37
|
-
|
13
|
+
解決方法を教えてください。
|
38
14
|
|
39
15
|
|
40
16
|
|
@@ -42,52 +18,72 @@
|
|
42
18
|
|
43
19
|
|
44
20
|
|
45
|
-
|
46
|
-
|
47
|
-
|
21
|
+
import openpyxl
|
48
|
-
|
49
|
-
#モジュール読み込み
|
50
22
|
|
51
23
|
import pandas as pd
|
52
24
|
|
53
|
-
import
|
25
|
+
import pyperclip as clp
|
54
26
|
|
55
27
|
|
56
28
|
|
57
|
-
|
29
|
+
csvファイルを読み込む
|
58
30
|
|
31
|
+
|
32
|
+
|
59
|
-
f
|
33
|
+
df = pd.read_csv(rf'C:/Users/p000a05646/pdf.txt', engine='python',
|
60
34
|
|
61
35
|
sep='::',
|
62
36
|
|
63
37
|
header=None)
|
64
38
|
|
65
|
-
|
66
39
|
|
67
|
-
# エクセルファイルに書き込む
|
68
40
|
|
41
|
+
|
42
|
+
|
69
|
-
|
43
|
+
クリップボードにコピー
|
70
44
|
|
71
45
|
|
72
46
|
|
73
|
-
|
47
|
+
df.to_clipboard()
|
74
48
|
|
75
|
-
|
49
|
+
#paste the clipboard to a valirable
|
76
50
|
|
77
|
-
|
51
|
+
cells = clp.paste()
|
78
52
|
|
79
|
-
|
53
|
+
#split text in varialble as rows and columns
|
80
54
|
|
81
|
-
# 保存
|
82
|
-
|
83
|
-
|
55
|
+
cells = [x.split() for x in cells.split('\n')]
|
84
56
|
|
85
57
|
|
86
58
|
|
87
|
-
|
59
|
+
エクセルを開く
|
88
|
-
|
89
|
-
test1 test2 test3といった感じです。
|
90
60
|
|
91
61
|
|
92
62
|
|
63
|
+
wb= openpyxl.load_workbook('C:/Users/シート.xlsx')
|
64
|
+
|
65
|
+
#Get the Sheet
|
66
|
+
|
67
|
+
sheet = wb.get_sheet_by_name('test')
|
68
|
+
|
69
|
+
|
70
|
+
|
71
|
+
|
72
|
+
|
73
|
+
|
74
|
+
|
75
|
+
貼り付け
|
76
|
+
|
77
|
+
|
78
|
+
|
79
|
+
for i, r in zip(range(1,len(cells)), cells):
|
80
|
+
|
93
|
-
|
81
|
+
for j, c in zip(range(1,len(r)), r):
|
82
|
+
|
83
|
+
sheet.cell(row = i, column = j).value = c
|
84
|
+
|
85
|
+
保存
|
86
|
+
|
87
|
+
|
88
|
+
|
89
|
+
wb.save('C:/Users/シート.xlsx')
|
2
ソースコード記入
test
CHANGED
File without changes
|
test
CHANGED
@@ -8,7 +8,7 @@
|
|
8
8
|
|
9
9
|
|
10
10
|
|
11
|
-
|
11
|
+
#モジュール読み込み
|
12
12
|
|
13
13
|
import pandas as pd
|
14
14
|
|
@@ -24,10 +24,6 @@
|
|
24
24
|
|
25
25
|
|
26
26
|
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
27
|
# エクセルファイルに書き込む
|
32
28
|
|
33
29
|
writer = pd.ExcelWriter(r"C:/Users/シート.xlsx")
|
@@ -39,3 +35,59 @@
|
|
39
35
|
# 保存
|
40
36
|
|
41
37
|
writer.save()
|
38
|
+
|
39
|
+
|
40
|
+
|
41
|
+
|
42
|
+
|
43
|
+
|
44
|
+
|
45
|
+
|
46
|
+
|
47
|
+
その後、下記の様に変更してみました。
|
48
|
+
|
49
|
+
#モジュール読み込み
|
50
|
+
|
51
|
+
import pandas as pd
|
52
|
+
|
53
|
+
import openpyxl
|
54
|
+
|
55
|
+
|
56
|
+
|
57
|
+
# csvファイルを読み込む
|
58
|
+
|
59
|
+
frame = pd.read_csv(rf'C:/Users/pdf.txt', engine='python',
|
60
|
+
|
61
|
+
sep='::',
|
62
|
+
|
63
|
+
header=None)
|
64
|
+
|
65
|
+
|
66
|
+
|
67
|
+
# エクセルファイルに書き込む
|
68
|
+
|
69
|
+
path = 'C:/Users/シート.xlsx'
|
70
|
+
|
71
|
+
|
72
|
+
|
73
|
+
with pd.ExcelWriter(path) as writer:
|
74
|
+
|
75
|
+
writer.book = openpyxl.load_workbook(path)
|
76
|
+
|
77
|
+
frame.to_excel(writer, 'test' ,header=False, index=False)
|
78
|
+
|
79
|
+
|
80
|
+
|
81
|
+
# 保存
|
82
|
+
|
83
|
+
writer.save()
|
84
|
+
|
85
|
+
|
86
|
+
|
87
|
+
今度は、繰り返し動作させるとエクセルファイルにシート(test)が増えていきます。
|
88
|
+
|
89
|
+
test1 test2 test3といった感じです。
|
90
|
+
|
91
|
+
|
92
|
+
|
93
|
+
testのテンプレシートに常に上書きさせたいです。
|
1
test
CHANGED
File without changes
|
test
CHANGED
@@ -1,7 +1,41 @@
|
|
1
|
-
Pythonにて、テキストファイルの文字をそのまま既存のエクセルシートにコピぺしたいのですが、pandasを使用して作成したところ、既存のエクセルファイル
|
1
|
+
Pythonにて、テキストファイルの文字をそのまま既存のエクセルシートにコピぺしたいのですが、pandasを使用して作成したところ、既存のエクセルファイルの他のシートが消えてしまいます。
|
2
2
|
|
3
3
|
何か良い方法はありますか?
|
4
4
|
|
5
5
|
また、他のライブラリの方がよろしいでしょうか。
|
6
6
|
|
7
7
|
基本的な、テキスト→エクセルの方法を教えて頂きますでしょうか。
|
8
|
+
|
9
|
+
|
10
|
+
|
11
|
+
|
12
|
+
|
13
|
+
import pandas as pd
|
14
|
+
|
15
|
+
|
16
|
+
|
17
|
+
# csvファイルを読み込む
|
18
|
+
|
19
|
+
frame = pd.read_csv(rf'C:/Users/pdf.txt', engine='python',
|
20
|
+
|
21
|
+
sep='::',
|
22
|
+
|
23
|
+
header=None)
|
24
|
+
|
25
|
+
|
26
|
+
|
27
|
+
|
28
|
+
|
29
|
+
|
30
|
+
|
31
|
+
# エクセルファイルに書き込む
|
32
|
+
|
33
|
+
writer = pd.ExcelWriter(r"C:/Users/シート.xlsx")
|
34
|
+
|
35
|
+
frame.to_excel(writer,'test',index=False) # header=False
|
36
|
+
|
37
|
+
|
38
|
+
|
39
|
+
# 保存
|
40
|
+
|
41
|
+
writer.save()
|