特定の文字を挿入する必要があるリストがあります\n
。
ただし、同時にこれは 2 つの for ループ内になります。\n
その場合、その場所に がすでに存在するかどうかを確認する必要があります。
存在する場合は挿入しないでください。それ以外の場合\n
は、その位置に挿入します。
# position of '\n' from previous list
# '\n' needs to be exactly at the same position as in the previous lsit
indexes = [i for i, val in enumerate(input_list) if val == '\n']
ncol = some value
nrows = some value
for column in range(1, ncol):
for row in range(1, nrows):
abc.append(ws2.cell(row = row, column=column).value)
if ind in indexes:
abc.insert(ind, '\n')
#print('abc: ', abc)
concatABC = '\n'.join(abc)
#print('Concate: ', concatABC)
ws.cell(row=(nrows), column=(column)).value = concatABC
del abc[:]
if
ループでは、すでに存在するかどうかを確認する必要が\n
あります。必要なのは一度だけなので、毎回挿入するのは意味がありません。
入力TXTファイルを使用して生成されたinput_listで指定された特定のデータ構造を持つExcelファイルを生成しています。
混乱させて申し訳ありません、
ind の値は、元の入力リストから '\n' の位置を取得しているリスト インデックスからのものです。コードの合間に、xml ファイルからデータを抽出して Excel に入れています。ここで、このデータを最後の Excel 行/セルに連結している間、TXT ファイルで指定された形式を維持する必要があります。
私の問題は、入力リストが安定しているだけで、他のすべてのものはXMLから来ているか、ループの繰り返し中に更新されていることです。
@wim: 入力は次のようになります.. input_list = ['abc', '\n', 'def', 'ghi', '\n', 'jkl', 'mno']
この入力リストから \n のインデックスを取得し、Excel で先頭の行をすべて連結して、\n を入力リストの正確な場所に配置します。それが全体の話です。
Excel での出力:
行 1: abc
行 2: デフォルト
行 3: ギ
行 4: jkl
行 5: 月
行 6: abc
空行 (\n)
def
ghi
空行 (\n)
jkl
mno