前提・実現したいこと
貰ったテキストファイルをpandasで読み込んで、加工後、Excelで出力を行いたい。
発生している問題・エラーメッセージ
元のテキストデータはTabや「,」で区切られておりません。
このため、行ったのは1,005文字を一文字づつ区切って
data[0]+data[1]...で結合を行っているが、1,005文字あるのでこれを手作業で行うよりは
X文字目からY文字目まで結合するなどのコードが分かればと思い質問させていただきました。
よろしくお願いします。
コードを使う使わない別として、全てのコードを記載しました。
分かりづらくて申し訳ありません。
現在成功している事
読み込んだデータを1文字づつ区切る
引用テキスト(元データ)
HDABCDEF 000111 YYYYMMDDYYYYMMDDYYYYMMDD
作成したいデータ
HD,ABCDEF, ,000111, ,YYYYMMDD,YYYYMMDD,YYYYMMDD
※スペースは文字列としてカウント
結合は
HD,ABCDFE, ,000111, ,YYYYMMDD,YYYYMMDD,YYYYMMDD
1~2, 3~7, 8~18 ,19~24, 25~28, 29~36, 37~44, 45~52 文字目を結合したいです。
2 6 11 6 4 8 8 8 ←それぞれの結合したい文字数
該当のソースコード
import pandas as pd import numpy as np import os import openpyxl import glob import re #ファイルパス filepath = ('Python/test.txt') #ファイル読み込み df = pd.read_table(filepath , header=None) df1 = df.iloc[0][0] #1文字づつ分割 data = [df1[i: i+1] for i in range(0, len(df1), 1)] #1文字目と2文字目、 3~7文字目を結合、 8~18文字目を結合 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]
という形での途中まで結合を行いました。
解決法がございましたら、よろしくお願いします。
回答3件
あなたの回答
tips
プレビュー