前提・実現したいこと
以下の記載している内容で結果はでるのですが、列を複数にすることができません。
どうすればよろしいでしょうか。
発生している問題・エラーメッセージ
複数列に結果がでない
該当のソースコード
python3
1 2import csv 3import re 4 5file = open('C:\Users\ho\py\log\log-181010.txt') 6 # openしたファイルから1行ずつ読み込んでいく 7files = csv.reader(file) 8for row in files: 9 for col in row: 10 df = re.search(r'(?<=cookie=)[^&]*', col) 11 if df: 12 13 for col in row: 14 df = re.search(r'(?<=prod=)[^&]*', col) 15 if df: 16 17 with open("output.csv", "a",newline='') as file: 18 print(df.group(0), file=file)
現状のCSVの内容は以下になります。
a列 b列
nemw8arwbn718sv2
nemw8arwbn718sv2
v6c42ptti4ftq0ad
v6c42ptti4ftq0ad
237761
237761
237761
237761
237761
228353
上記を以下にしたいです。
a列 b列
nemw8arwbn718sv2 237761
nemw8arwbn718sv2 237761
v6c42ptti4ftq0a 237761
v6c42ptti4ftq0a 237761
237761
228353
試したこと
結果を1列でなく、項目ごとに複数列にしたい
具体的なlog-181010.txtのデータ例を追記くださると回答得られやすいです。
コードから意図を読み取るのが難しいので、入力のCSVと期待する出力のCSVを質問欄を編集して貼ってください
一度も改行を出力しなければそうなります。
ログの内容は以下になります。時系列に以下の1行がいくつもある形になります。
/unitag/jsonp/re3?merch=ppp&cookie=v6ad&pgid=0&spec=1&pgtype=sp_pddt&action=0&widget_divid=rec_sp311&random=768400&keep_history=1&prod=196011
現在は以下の形でCSVへ出力されております。
C:\\Users\\ho\\py\\log\\log-181010.txt の中身が「現状のCSVの内容は以下になります。」のところですか?
はいそうです
2列にする部分は4行固定なのでしょうか?それともなにか規則があるのでしょうか?
いえ、4行固定ではございません。こちらは増え続けます。
出力を作る際に2列目に折り返す基準がわからないのですが、なにを基準に2列目に折り返すのですか?
こちら引っ張ってくるパラメータが違うので、その各パラメータごとに列を変更したいと考えております
回答1件
あなたの回答
tips
プレビュー