Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
2020/07/25 OSC Niigata/Online LT; about xlsx2cs...
Search
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
Naoto Gohko
July 25, 2020
Programming
770
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
2020/07/25 OSC Niigata/Online LT; about xlsx2csv-go-CLI
This LT is about my tool ; xlsx2csv-go-CLI .
https://github.com/naototty/xlsx2csv-go-cli
Naoto Gohko
July 25, 2020
More Decks by Naoto Gohko
See All by Naoto Gohko
so this is KeyDB! So what.
naototty
1
780
asks Canonical about Ubuntu support and starts using Ubuntu
naototty
0
86
Rancher Harvester and KubeVirt HCI operator
naototty
0
460
ODC2020; "Rocky 8", Rocky Linux 8 story
naototty
0
620
私とOSC Hokkaido Love (私のOSC Hokkaido参加の振り返り)
naototty
1
510
GTB2020; Introduction to virtualization technology on GMO Tech Bootcamp
naototty
0
270
OSS Forum in Tokyo/Winter: Around the OpenStack world in 2019.
naototty
0
410
Use ubuntu canonical's multipass command
naototty
0
410
Bifrost Ironic Standalone deep dive for GPU baremetal cloud
naototty
0
340
Other Decks in Programming
See All in Programming
関数型プログラミングのメリットって何だろう?
wanko_it
0
180
The Bowling Game- From Imperative to Functional Programming - Part 1
philipschwarz
PRO
0
340
アルゴリズムは何を圧縮しているのか ─ Haskell から育った「圧縮代数」というメンタルモデル
naoya
16
3.5k
PHP に部分適用が来るぞ!……ところで何それ?おいしいの? #phpcon / phpcon-2026
shogogg
0
300
Generative UI & AI-Assistants for Your Angular Solutions
manfredsteyer
PRO
1
200
5分で問診!Composer セキュリティ健康診断
codmoninc
0
470
SREは、MCPとSRE Agentをこう使え!
kazumax55
0
150
【やさしく解説 設計編・中級 #1】一つの車に、運転手は一人 ~ある倉庫システムの事例から~
panda728
PRO
0
190
AI 輔助遺留系統現代化的經驗分享
jame2408
1
1.2k
なぜ関数型プログラミングで「型」と「証明」が語られるのか #fp_matsuri
kajitack
3
990
エンジニアにデザインハーネスを 〜デザインプロセスを規定するためのハーネス〜 / Design harness from an engineer's perspective
rkaga
2
1.6k
Laravelで学ぶ Webアプリケーションチューニング入門/web_application_tuning_101
hanhan1978
4
1.2k
Featured
See All Featured
How to optimise 3,500 product descriptions for ecommerce in one day using ChatGPT
katarinadahlin
PRO
1
3.7k
Un-Boring Meetings
codingconduct
0
350
Building Better People: How to give real-time feedback that sticks.
wjessup
370
20k
How to Align SEO within the Product Triangle To Get Buy-In & Support - #RIMC
aleyda
2
1.7k
Why Mistakes Are the Best Teachers: Turning Failure into a Pathway for Growth
auna
0
180
Writing Fast Ruby
sferik
630
63k
GraphQLの誤解/rethinking-graphql
sonatard
75
12k
Agile that works and the tools we love
rasmusluckow
331
22k
Game over? The fight for quality and originality in the time of robots
wayneb77
1
220
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
PRO
201
75k
Claude Code のすすめ
schroneko
67
230k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
37
6.5k
Transcript
イベント駆動開発?でできた xlsx2csv-go-cliと OSC Niigata Onlineまで OSC Niigata 2020 Online /
LT session 2020/07/25 @naoto_gohko 郷古 直仁
LT presenter(Itʼs me) • Naoto Gohko / 郷古 直仁 (@naoto_gohko)
• Cloud Service development divistion, GMO Internet Inc., • OpenStackでpublic cloudサービス • 最近の活動主体 • Japan OpenStack user会 / OSC onlineお⼿伝い(Zoom修⾏) • その他参加勉強会など • Rancher JP, PaaS, Serverless, SDNなど @MikumoConoHa
⼤学時代は⼭形の⽶ 沢(⼭形⼤学⼯学部) にいたので、新潟市、 ⻑岡市など出⾝の友 ⼈達が沢⼭いました (なにしてっがなぁ)
最近では、宮原さんと OSC(Open Source Camp)と称して コロナ前まで、 キャンプに出かけるなどやってい ました ここでも、新潟のお世話になるこ とに
なにせ「キャンプグッズ」と いえば新潟発のブランドが ⽼舗から新興まで、たくさん ありますからね
さてさてさて、 お集まりの皆さん、 OSC Niitaga 2020/Onlineも もう最後の⽅になりました
(☝ ՞ਊ ՞)☝ウェーイ
OSC Niitaga Online で LT申し込んだときに、 何やろうかなと
“xlsx2csv-go-cli” https://github.com/naototty/xlsx2csv-go-cli 作ったというより、 機能追加と修正してみたかな
なんとなく、名称から察する 感じですが、”*.xlsx” ファイル からcsvを⽣成するCLIです
https://github.com/naototty/xlsx2csv-go-cli
なんでこれを作ったか? 業務上、何かと”*.xlsx” ファイル に遭遇することがあり、shell scriptでライトにスクリプトに組 み込んで利⽤する (ちょっと加⼯してansible inventory(hosts) fileにしたり)
以下を組み合わせて動作します。 xslxファイルを扱うgolangのライ ブラリ “github.com/tealeg/xlsx” csvを扱うライブラリ "encoding/csv”
実際には、以下からforkして、機能追加した ものです tgulacsi/xlsx2csv colinmollenhour/xlsx2csv
使い⽅ CLIですので README.md を詳しくは参照お願いします
wgetでリリースにおいてあるbinary取ってくる # << chmod +x で実⾏権限つける
なにも⼊れ ずに実⾏す ると、usage
delimiter指定 ex)“-d ʻ,ʼ” 区切り⽂字を 指定する tab区切りは “-d TAB” (ドキュメント 書き忘れたw。
後で書きます)
delimiter指定 + Excel tab指定( “-i <0,1,2,…>”) 0から表の数インクリメント (表の番号 : 0,1,2,
… )
csvをstdoutではなく、ファイルに出⼒ “-o <file name>”
今後考えていること(issue⽴てよう) • 表としてのHeaderの位置を指定できるようにする • 表としてのHeaderを外部から指定できるようにする • 他のtableファイル対応 • Google SpreadsheetなどCloud
sheet, Libreofficeなど • Query表現の簡易対応 (like xo/xo, xo/usql) • HTTP(S)上にuploadされているファイルを直接stream(っぽく) で処理させる
OSC Niitaga 2020/Onlineに合わせ て「イベント・ドリブン」に ちょっとツールをリリースしてみ た話でした イベントに合わせてなんかリリースするとかとか、 が「イベント・ドリブン」という落ちでした