次のように、改行を含む値が含まれている可能性があるタブ区切りのテキスト ファイルがあります。
col1 col2 col3
row1 val1 "Some text
containing newlines. Yup, possibly
more than one..." val3
row2 val4 "val5" val6
ノート:
- 改行を含むテキスト値は、最初に二重引用符で囲まれていることが保証されています
- 行数または列数が異なる場合があります。
- 任意の値はテキストまたは数値である可能性があり、改行を含む場合と含まない場合があります
re
次の目的で、小さな Python スクリプトを作成しようとしています。
- 余分な改行を取り除きます(ただし、元の改行、つまり各行の末尾は保持します)
- すべての単一の値を二重引用符で囲みます
次のような形にすると良いでしょう。
def normalize_format(data, delimiter = '\t'):
data = re.sub(_DESIRED_REGEX_, r'"\1"', data)
return data
data
ファイル全体の内容は単一の文字列であり_DESIRED_REGEX_
、私が理解したいものです
の使用re
は必須ではありませんが、簡潔でエレガントなソリューションを歓迎します:)