私は後が、ここでいくつかのサンプルコードを見ていきロジックです:
- 新しいデータ(myNewData)を保持するための文字列を作成します
- ファイルを開く
- ファイルを行単位で読み取る
- Spコロン
- でラインをつけた最初の単語は「名前:」ない場合にはライン(分割の最初の部分)
- の最初の単語を識別し、その後にコンマを追加し、はアレルギーではありませんと値(4からの分割の2番目の部分、空白のトリム付き)。これをmyNewDataに追加します。
- 最初の単語は、最初の単語が「名前:」である場合は、次のループ
- を破棄して起動し、その後、アレルギーの場合は、改行(「\ n」)と値を追加します。
- プロセスが完了したら、myNewDataを新しいファイルに書き込みます。
例以下のコード:
#! /usr/bin/env python
def decider(line):
try:
first_part, second_part = lines.split(':')
if first_part not in ('Name', 'Allergies'):
return ',' + second_part.strip()
elif first_part == 'Name':
return '\n' + second_part.strip()
else:
return ''
except:
return ''
with open('text.txt', 'r') as f:
myNewData = 'Name,ID,Company,Age,Job'
for lines in f.readlines():
myNewData += decider(lines)
# print(myNewData)
with open('output.csv', 'w') as fo:
fo.write(myNewData)
、あなたは素敵な、新しいCSVを持っています。
出力は次のようになります。
名前、ID、会社、年齢、職業
ジェーン・ドウ、123456、Jクルー、25、アナリスト
ジョン・ドウ、654321、バナナリパブリック、32、マネージャー
質問を編集し、ファイルから実際のサンプルデータを含めてください(私たちはすべてを必要とせず、データを変更して無実を保護することができます)。 – martineau
行にコンマはありませんか?そうでない場合は、CSVではありません。実際のファイルの最初の数行を質問に追加できますか? –
私は、csvファイルのサンプルを添付しました。 –