ビットのピクルス、助けていただければ幸いです。 異なるヘッダー構造を持つ異なるCSVファイルを検証しようとしています。例えばtype1.csvヘッダを使用header = Noneの場合、pandasを使用してcsvファイル内のヘッダーを決定してください。
COL1|COL2|COL3|COL4
A1|A2|A3|A4
B1|B2|B3|B4
C1|C2|C3|C4
D1|D2|D3|D4
を下記=なし
df = pd.read_csv(type1.csv, sep='|', header=None)
私は列軸に置き換える発行することができるように微細である
# 0 1 2 3
0 COL1 COL2 COL3 COL4
1 A1 A2 A3 A4
2 B1 B2 B3 B4
3 C1 C2 C3 C4
4 D1 D2 D3 D4
をレンダリングしていませんインデックス0(col1、col2など)の場合
header = df.columns.values
私はどれもが私にデータフレーム
# 0 1 2 3
0 Datetime timezone source unique identifier
1 Non Header Row Count = 4 NaN NaN NaN
2 COL1 COL2 COL3 COL4
3 A1 A2 A3 A4
4 B1 B2 B3 B4
5 C1 C2 C3 C4
6 D1 D2 D3 D4
を与えない=ヘッダと次のような構造
Datetime|timezone|source|unique identifier
Non Header Row Count = 4 |||
COL1|COL2|COL3|COL4
A1|A2|A3|A4
B1|B2|B3|B4
C1|C2|C3|C4
D1|D2|D3|D4
を持つ別のファイルtype2.csvを持っている場合は、私は実装したいのアプローチがにありますその後、任意の値COL1、COL2、COL3等を有しており、おそらくヘッドを使用して、そのインデックス上記値のデータフレームを分割する行を検索するために介して反復noneに設定ヘッダとデータフレームを読み取る(n)は、nはCOL1を含む行であり、 COL2などabovとは関係なくEその行(私はコンテンツの上にいくつかの分析を実行するために新しいデータフレームにこれを分割する予定)
例は
# 0 1 2 3
0 Datetime timezone source unique identifier
1 Non Header Row Count = 4 NaN NaN NaN
# 0 1 2 3
0 COL1 COL2 COL3 COL4
1 A1 A2 A3 A4
2 B1 B2 B3 B4
3 C1 C2 C3 C4
4 D1 D2 D3 D4
を分割するには、これは、)(ISINを使用して達成できるだろうまたはisin()とregexまたはquery()の組み合わせ?私は似た例や質問を検索しましたが、きれいに動作するようにそれを把握することができませんでした(と私はまだパンダのドキュメントを把握するために取得しています)。
データ健全性チェックのためにCOL1、COL2、COL3行の上にデータを保存したいのでスキップローを避けたいので、ファイルを読み込んでヘッダ列の位置を決定する事前検証ステップを実行しますスキップローを使用してデータフレームとして読み取ることは最適なアプローチではありません。できれば
は、すべてのヘルプは大歓迎しました。質問が明確でないか、私が愚かな仮定をしている/悪いアプローチをしている場合は、お詫び申し上げます。 (:)建設的またはその他の)批判、フィードバックやアドバイス歓迎は
これは非常にうまくいった。私はそんなことに近づくとは思わなかった。フィードバックとアドバイスをありがとう。私はこれを拡張し、追加のフィードバックを提供しようとします:) –