2020/12/28(月)SlackからエクスポートしたJSONをCSVに変換する
2020/12/28 11:30
SlackからエクスポートしたログファイルはJSON形式になっているので、そのまま議事録として保存するにはやや冗長です。
私は普段Notionを使っているのですが、NotionにインポートするためにはCSVあたりに変換するのが手っ取り早いです。最近はこの作業が必要になるたびにJSONフィールド名を調べて無駄な時間を費やしている気がするので、変換スクリプトを載せておくことにします。
……久しぶりにPythonの話をしたような気がする。技術的な新規性は皆無な記事ですけどw
import csv import datetime import json import sys def main(input_file, output_file): with open(input_file, 'r', encoding='utf-8') as f: records = [{ 'member': log['user_profile']['display_name'], 'time': datetime.datetime.fromtimestamp(int(log['ts'].split('.')[0])).strftime('%H:%M:%S'), 'text': log['text'], } for log in json.load(f)] with open(output_file, 'w', encoding='utf-8', newline='') as f: writer = csv.DictWriter(f, fieldnames=['member', 'time', 'text']) writer.writeheader() writer.writerows(records) if __name__ == '__main__': main(sys.argv[1], sys.argv[2])