質問編集履歴

5

書式の改善

2020/09/04 12:54

投稿

ErstNeun
ErstNeun

スコア1

test CHANGED
@@ -1 +1 @@
1
- Pandasで読み込んだデータのX文字目からY文字目までを結合する方法について
1
+ Pandasで読み込んだデータのX文字目からY文字目までを結合する方法について又は任意の文字数でのtableの分割方法
test CHANGED
File without changes

4

書式の改善

2020/09/04 12:54

投稿

ErstNeun
ErstNeun

スコア1

test CHANGED
File without changes
test CHANGED
@@ -44,7 +44,7 @@
44
44
 
45
45
  > 作成したいデータ
46
46
 
47
- HD,ABCDEF, ,000111, ,YYYYMMDD,YYYYMMDD,YYYYMMDD
47
+ HD,ABCDEF, ,000111, ,YYYYMMDD,YYYYMMDD,YYYYMMDD
48
48
 
49
49
 
50
50
 
@@ -54,9 +54,11 @@
54
54
 
55
55
  結合は
56
56
 
57
- 1~2, 3~7, 8~18, 19~24, 25~28, 29~36, 37~44, 45~52 文字目を結合したいです。
57
+ HD,ABCDFE, ,000111, ,YYYYMMDD,YYYYMMDD,YYYYMMDD
58
58
 
59
+ 1~2, 3~7, 8~18 ,19~24, 25~28, 29~36, 37~44, 45~52 文字目を結合したいです。
60
+
59
- 2 6 11 6 4 8 8 8 ←それぞれの結合したい文字数
61
+ 2 6 11 6 4 8 8 8 ←それぞれの結合したい文字数
60
62
 
61
63
 
62
64
 

3

段落修正

2020/09/01 04:14

投稿

ErstNeun
ErstNeun

スコア1

test CHANGED
File without changes
test CHANGED
@@ -40,9 +40,13 @@
40
40
 
41
41
  HDABCDEF 000111 YYYYMMDDYYYYMMDDYYYYMMDD
42
42
 
43
+
44
+
43
- 作成したいデータ
45
+ > 作成したいデータ
44
46
 
45
47
  HD,ABCDEF, ,000111, ,YYYYMMDD,YYYYMMDD,YYYYMMDD
48
+
49
+
46
50
 
47
51
  ※スペースは文字列としてカウント
48
52
 

2

誤字

2020/09/01 03:59

投稿

ErstNeun
ErstNeun

スコア1

test CHANGED
File without changes
test CHANGED
@@ -43,6 +43,8 @@
43
43
  作成したいデータ
44
44
 
45
45
  HD,ABCDEF, ,000111, ,YYYYMMDD,YYYYMMDD,YYYYMMDD
46
+
47
+ ※スペースは文字列としてカウント
46
48
 
47
49
 
48
50
 

1

ソースコードを途中までですが、最初から記載いたしました。

2020/09/01 03:57

投稿

ErstNeun
ErstNeun

スコア1

test CHANGED
File without changes
test CHANGED
@@ -14,7 +14,7 @@
14
14
 
15
15
  元のテキストデータはTabや「,」で区切られておりません。
16
16
 
17
- このため、行ったのは1行目1,005を一文字づつ区切って
17
+ このため、行ったのは1,005文字を一文字づつ区切って
18
18
 
19
19
  data[0]+data[1]...で結合を行っているが、1,005文字あるのでこれを手作業で行うよりは
20
20
 
@@ -24,34 +24,86 @@
24
24
 
25
25
 
26
26
 
27
- ### 該当ソースコード
27
+ コードを使う使わない別として、全てのコードを記載しました。
28
28
 
29
- 元データ(一部抜粋)
29
+ 分かりづらくて申し訳ありません。
30
30
 
31
+
32
+
33
+ 現在成功している事
34
+
35
+ 読み込んだデータを1文字づつ区切る
36
+
37
+
38
+
39
+ > 引用テキスト(元データ)
40
+
31
- HDABCDEF 000111 202009012020080120200831
41
+ HDABCDEF 000111 YYYYMMDDYYYYMMDDYYYYMMDD
32
42
 
33
43
  作成したいデータ
34
44
 
35
- HD,ABCDEF, ,000111, ,20200901,20200801,20200831
45
+ HD,ABCDEF, ,000111, ,YYYYMMDD,YYYYMMDD,YYYYMMDD
36
46
 
37
47
 
38
48
 
39
- df = pd.read_table(filepath , header=None, encoding='cp932')
49
+ 結合は
40
50
 
41
- これで元データを1文字づつに区切り
51
+ 1~2, 3~7, 8~18, 19~24, 25~28, 29~36, 37~44, 45~52 文字目を結合したいです。
52
+
53
+ 2 6 11 6 4 8 8 8 ←それぞれの結合したい文字数
42
54
 
43
55
 
44
56
 
57
+ ### 該当のソースコード
58
+
59
+ `````````````````````````````````````````````````````````````````````
60
+
61
+ import pandas as pd
62
+
63
+ import numpy as np
64
+
65
+ import os
66
+
67
+ import openpyxl
68
+
69
+ import glob
70
+
71
+ import re
72
+
73
+
74
+
75
+ #ファイルパス
76
+
77
+ filepath = ('Python/test.txt')
78
+
79
+
80
+
81
+ #ファイル読み込み
82
+
83
+ df = pd.read_table(filepath , header=None)
84
+
85
+
86
+
87
+ df1 = df.iloc[0][0]
88
+
89
+
90
+
91
+ #1文字づつ分割
92
+
45
- data[0]+data[1], data[2]+(中略)+data[7], data[8]+(中略)+data[18], .......
93
+ data = [df1[i: i+1] for i in range(0, len(df1), 1)]
94
+
95
+
96
+
97
+ #1文字目と2文字目、 3~7文字目を結合、 8~18文字目を結合
98
+
99
+ df2 = data[0]+data[1], data[2]+data[3]+data[4]+data[5]+data[6]+data[7], data[8]+data[9]+data[10]+data[11]+data[12]+data[13]+data[14]+data[15]+data[16]+data[17]+data[18]
100
+
101
+
102
+
103
+ ``````````````````````````````````````````````````````````````````````
104
+
105
+
46
106
 
47
107
  という形での途中まで結合を行いました。
48
108
 
49
109
  解決法がございましたら、よろしくお願いします。
50
-
51
-
52
-
53
- ```ここに言語名を入力
54
-
55
- Python3
56
-
57
- ```