CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

OCamlでCSVを読み込んでPDFにプロットしてみた。 まずOPAMで依存パッケージをインストールしておく。 以下のソースコードを作成し、ocamlbuild -pkgs camlpdf,csv,batteries main.nativeでコンパイルし、./main.nativeで実行する。手元のMacBook Air (13 inch, Mid-2011)で時間を測ると、コンパイルは1.3秒程度、実行時間は45個のCSVファイル(合計6.5 MB)の読み込み+PDF作成で2.8秒と、かなり速くて良い感じ。 open BatList type t = { x: float; y: float; } let write_pdf points path = let f p = Pdfops.Op_l (p.x *. 50.,p.y *. 1000.) in let ps = map f po
SQLite3.14(円周率πと同じですね!)が2016/08/08にリリースされました。 リリースノートによると、CSV仮想テーブルに対応したとありましたので、早速使ってみました。 Added the CSV virtual table for reading RFC 4180 formatted comma-separated value files. この機能を使うと、CSV形式のログファイルにSQLで問い合わせるといったことが簡単にできます。 仮想テーブルについて 仮想テーブル(Virtual Table)はSQLiteのデータベースで管理されていないデータを仮想的に管理されているように見せるテーブルです。 仮想テーブルで管理されているデータは、通常のテーブルのデータと同じように SQL インターフェースで操作できます。 SQLite では 全文検索インターフェース R-Trees
先日、Twitterでqコマンドが話題になっていました。 github.com スターが3000を超えていてすごいですね。2014年から開発されているツールで、Pythonで書かれています。 これはGoで実装してみたいなーと思っていたところ、mattnさんが素早く実装されていました。 mattn.kaoriya.net 一本取られたと思ったものの、よく読むとまだ標準入力しか対応していないようです。 いったいどういう仕組みなのか、何の実装が難しいところなのか、qコマンドが嬉しい場面はどういうケースなのか、自分も知りたくなったので1から実装してみました。 私が一番素早く書ける言語ということでHaskellを選びました。 qhs qコマンドのHaskell実装、ということでqhsと名づけました。 github.com stackが入っていればインストールは簡単です。 $ git clone ht
GameWith Developer Blog会社の技術ブログで執筆した記事をいくつかピックアップしています。 2020 年に起きたワークスタイルの変化とこれからについて #GameWith #TechWith - GameWith Developer Blogこの記事は GameWith Advent Calendar 21 日目の記事です。 最近、ブログ更新を怠っていた @serima です。Splatoon 2 でナワバリバトルをする日々を送っていますが、お仕事では開発マネージャーをしています。 2020 年は新型コロナウイルスの影響で世界的に働き方の変革を求められた年であり、弊社 GameWith も例外ではありませんでした。 このポストではフルリモートワークへの切り替えにおいて気をつけたことや、現在の課題と試みについて簡単に紹介できればと思います。 なお、現時点(2020 年 1
ネット経由でラジオ放送を同時配信する「radiko.jp」が年内にも、1週間のラジオ番組を無料でネット提供する――先週こんな記事がTwitterなどで話題になった。実はこの記事、昨年8月に掲載されたもの。最新の記事だと勘違いし、「やっと始まるのか」と歓迎するユーザーも多かったが……。 radikoは以前から、過去の番組を聴取できるタイムシフト機能の実装計画を明らかにしてきた。2014年4月のインタビューでも責任者が、「いつになるか分からないが、タイムシフト機能の実装に取り組みたい」と話していた。 今回、改めてradikoに取材したところ、「タイムシフト機能を準備していることは昨年の年初ごろから計画として話しているが、それ以外は公式に発表していることは一切ない。タイムシフト機能は、準備でき次第発表する」とのこと。準備中であることは認めたものの、具体的なスタート予定などは明らかにしなかった。
Pythonのcsvパッケージは大変便利です。面倒なエスケープ処理をちゃんと行ってくれます。とりわけ、Excelファイルで送られてきたファイルを処理するのに重宝します。なんといっても、dialect='excel'でExcel CSVをちゃんと読めます。 ところが、日本語が絡むと問題は途端に厄介になります。問題の本質は何か。まず、ExcelのTSVの扱いに関して、以下のことが知られています。 Excelのtsvエクスポートはutf-16(BOM付き)である Excelが直接読めるのはBOM付きutf-16のtsvである(カンマ区切りはウィザードが必要) csv(カンマ区切り)出力や読み込みも可能だがおすすめできない(後述) このことからわかるのは、BOM付きutf-16ファイルを扱うのが最善ということです。これを扱う一番の方法は、ioパッケージを使うことです。 さらっと書きましたが、ioパ
CSV ファイルを扱っている時に、最大値最小値と得たり合計を得たりするのにいちいち Excel を起動するのはとても面倒ですし、スクリプトを書くのも面倒。 そんな場合は textql を使うと便利です。 dinedal/textql - GitHub Execute SQL against structured text like CSV or TSV https://github.com/dinedal/textql golang で書かれています。ビルドすると依存性の無い実行モジュールが生成されます。使い方はリンク先の動画gifを参照下さい。 簡単にどんな事が出来るかというと $ cat ~/sample_data.csv | textql -header -sql "select sum(cast(value as integer)) from tbl" 18 こんな事が出来るツール
#include <iostream> #include <fstream> #include "csv_iterator.hpp" int main(){ //カンマ区切り(csv)でファイルを読みだして、タブ区切りで画面に出力する auto oitr = csv::current(std::cout, csv::mode::tsv); std::ifstream fin("data.csv"); for(auto itr = csv::begin(fin, csv::mode::csv); itr != csv::end(fin); ++itr){ *oitr++ = *itr; if(itr.eol())oitr.endl(); } system("pause"); return 0; } 動機 カンマで一行が複数のフィールドに区切られたファイルのことをcsvといいます。カンマの代わ
─ 問題1 ─ data.csvファイルには、5人のプレイヤー(Alice, Bob, Jimmy, Kent, Ross)が二種類のゲーム(gameA, gameB)をプレイした結果が次のような形で格納されている。各ゲームの平均点を求めよ。 data.csv player,gameA,gameB Alice,84.0,79.5 Bob,20.0,56.5 Jimmy,80.0,31.0 Kent,90.5,15.5 Ross,68.0,33.0 data = File.read('data.csv') headers, *scores = data.lines.map { |line| line.chomp.split(',') } scores # => [["Alice", "84.0", "79.5"], ["Bob", "20.0", "56.5"], ["Jimmy", "80
About two years ago, I worked with my grandpa to produce a database of cities (at the latitude and longitude level) and historic counties / state based on GIS files with polygons from Newberry. It wasn’t too difficult, I loaded them into PostGIS on a local PostgreSQL instance, joined based on cities being inside a polygon or not, where each polygon had an associated historic county name, state, te
Emacs の CSV 用メジャーモード。シンタックスハイライトだけでなく、 CSV 編集に便利な機能がいくつかある。マニュアルを読んでも使い方がよくわからなかったが、何度か試して理解できた。 特に csv-kill-fields は感動した。「CSV ファイルの特定の列のデータだけ抜き出したい」ということはよくあり、いつも AWK でがんばるか、 Excel/Open Office 等を経由するか、はたまた Perl/Ruby のワンライナーでやっつけるか、など多少の手間をかけてしまっていた。 C-c C-k のフィールド指定は "1 2" とか "1,3" とか "1-3" と入力する。ハイフン入りのときだけ range 指定扱い。 特定の列だけ消したいときは C-c C-k で、逆に特定の列だけ取り出したいときは C-c C-k のあと C-c C-z で貼り付ければよい。 C-c
はじめに Apache Drill 1.0がリリースされました! Drill 1.0 Released Apache Drillは、NoSQL向けのSQLクエリエンジンで、ファイルシステム上のJSON/CSV/Parquetなどのファイル、Hiveソース、HBase、MongoDBなどに直接SQLクエリを投げることが出来ます。 何はともあれ、触ってみないとどんなモノなのかわかりません。早速試してみました! やってみた 試した環境はEC2(on Amazon Linux 2015.03)です。 セットアップ Drillの動作にはJDK 7が必要になりますので、インストールされていることを確認します。 $ java -version java version "1.7.0_79" OpenJDK Runtime Environment (amzn-2.5.5.1.59.amzn1-x86_64
概要 分析のためにデータ集めしていると、たまに マジか!? と思うサイズの CSV に出くわすことがある。なぜこんなに育つまで放っておいたのか、、、? このエントリでは普通には開けないサイズの CSV を pandas を使ってうまいこと処理する方法をまとめたい。 サンプルデータ たまには実データ使おう、ということで WorldBankから GDPデータを落とす。以下のページ右上の "DOWNLOAD DATA" ボタンで CSV を選択し、ローカルに zip を保存する。解凍した "ny.gdp.mktp.cd_Indicator_en_csv_v2.csv" ファイルをサンプルとして使う。 http://data.worldbank.org/indicator/NY.GDP.MKTP.CD?page=1 補足 pandas の Remote Data Access で WorldBan
インストール 最新版はhttp://orgmode.org/ja/で確認する wget http://orgmode.org/org-8.2.tar.gz tar -zxf org-8.2.tar.gzhttp://d.hatena.ne.jp/buzztaiki/20100201/1265031994を参考にしてorg-table.elを修正する *** lisp/org-table.el 2013-10-01 11:04:28.896031328 +0900 --- lisp/org-table.el.bak 2013-10-01 11:04:43.088031931 +0900 *************** *** 965,971 **** (progn (setq s (match-string 1) o (match-string 0) ! l (max 1 (- (strin
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く