.net
ファイルのクライアントから非常に醜いデータのインポートがあります。私はこれをリストのリストに変換することができました。リストの例はgvenです:リストの乱雑なリストからのパンダのデータフレーム
['* Table: Movement one\n',
'* \n',
'$TSYS:CODE;NAME;TYPE;PCU\n',
'A;Car;PrT;1.000\n',
'Air_Bus;Airport Bus;PuT;1.000\n',
'B;Bus;PuT;1.000\n',
'C;Company Bus;PrT;2.000\n',
'CB;City Bus;PuT;1.000\n',',
'FE;Ferry;PuT;1.000\n',
'GV1;2-Axle Rigid Goods Vehicle;PrT;1.500\n',
'GV2;3/4 Axle Rigid Goods Vehicle;PrT;2.000\n',
'GV3;3/4 Axle Artic Goods Vehicle;PrT;3.000\n',
'GV4;5+ Axle Artic Goods Vehicle;PrT;3.000\n',
'IB;Intercity Bus;PuT;1.000\n',
'IN;Industry Bus;PuT;1.000\n',
'Loc;Local Bus;PuT;1.000\n',
'LR;Light Rail;PuT;1.000\n',
'R;Rail;PuT;1.000\n',
'S;School Bus;PrT;2.000\n',
'T;Taxi;PrT;1.100\n',
'TR;Tram;PuT;1.000\n',
'W;Walk;PrT;0.000\n',
'WB;WaterBus;PuT;1.000\n',
'WT;Water Taxi;PuT;1.000\n',
'W_PuT;Walk_PuT;PuTWalk;1.000\n',
'\n',
'* \n']
これをpandasデータフレームにロードします。
上2行と下2行は破棄される可能性があります。各リストには、文字列レコードが含まれ、;
セパレータが含まれます。私はread_csv
の区切り機能が存在することを知っていますが、ここではファイルから読み込まないため、ここでは機能しません。列見出しも複雑です。最初の$TSYS
レコードは破棄し、残りは列名として使用する必要があります。 strip
を使用して、各レコードの\n
を削除できます。
私は単純にデータフレームとしてロードしようとしています:
results_df = pd.DataFrame(results[2:-2])
print(results_df.head())
0
0 $TSYS:CODE;NAME;TYPE;PCU\n
1 A;Car;PrT;1.000\n
3 Air_Bus;Airport Bus;PuT;1.000\n
4 B;Bus;PuT;1.000\n
私はこれらのリストの多くを持っているので、どのように私はprogramtically、3行目を取る最初の文字列を削除し、残りの列のヘッダーを作成するのですか?後続のレコードごとに正しく;
で区切るにはどうすればよいですか?
を。私が受け入れるまで8分;) – LearningSlowly
喜んで助けることができます!幸運と感謝。 – jezrael