2016-04-28 15 views
0

Pythonで書かれたこのスクリプトを使用して、https://github.com/youtube/api-samples/pull/45/commits/e5ec5453233c287cbfe1ecd296ae0ed18c4ce523これはクエリの出力ウィンドウです。pythonの結果をpowershellでCSVに出力

Access print screen here

は、どのように私はそれをCSVとして結果を吐き出すために得ることができますか? PowerShellの表示ウィンドウのように、「嫌い」と「共有」は別々の列になり、行が追加されないことが重要です。

+0

標準出力ではなくCSVに印刷するようにスクリプトを変更できないのはなぜですか? –

+0

stdoutをファイルにプッシュできますか? – Seekheart

答えて

0

コードの関連部分は次のとおりです。

for column_header in analytics_query_response.get("columnHeaders", []): 
    print "%-20s" % column_header["name"], 
    print 

    for row in analytics_query_response.get("rows", []): 
    for value in row: 
     print "%-20s" % value, 
    print 

基本的に、あなたは、代わりに印刷物の、書き込み先の出力ファイルを開く必要があり、コールの書き込み()

未テストコードスニペット:

with open(filename.csv, 'w') as csv_out: 

    headers = [ch["name"] for ch in analytics_query_response.get("columnHeaders", [])] 
    csv_out.write(",".join(headers)) 

    for row in analytics_query_response.get("rows", []): 
     csv_out.write(",".join(row)) 

私はこれをテストしなかったので、克服するのにはさらに問題があるかもしれません。

+0

返信グローバル名 'filename'が定義されていません。どんな考え? – edost4

+0

あなたが印刷しているファイルの実際の名前を追加する必要があるので、はい、はい。 「outputFile.csv」など – kingledion

+0

ええ、申し訳ありませんが投稿した直後に変更を加えました。私が今取得するエラーは、 "TypeError:シーケンス項目1:期待される文字列またはUnicode、floatが見つかりました"です。 csv_out.write( "、"。join(row))をcsv_out.write( "、" join([str(value in row)])に変更すると、後続の列に行の値が追加されますヘッダー。適切なヘッダーの下の新しい行に作成する必要があります。どのようなアイデア? – edost4

関連する問題