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
Naoto Gohko
July 25, 2020
Programming
1
650
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
Tweet
Share
More Decks by Naoto Gohko
See All by Naoto Gohko
so this is KeyDB! So what.
naototty
1
670
asks Canonical about Ubuntu support and starts using Ubuntu
naototty
0
48
Rancher Harvester and KubeVirt HCI operator
naototty
0
340
ODC2020; "Rocky 8", Rocky Linux 8 story
naototty
0
480
私とOSC Hokkaido Love (私のOSC Hokkaido参加の振り返り)
naototty
1
440
GTB2020; Introduction to virtualization technology on GMO Tech Bootcamp
naototty
0
220
OSS Forum in Tokyo/Winter: Around the OpenStack world in 2019.
naototty
0
330
Use ubuntu canonical's multipass command
naototty
0
330
Bifrost Ironic Standalone deep dive for GPU baremetal cloud
naototty
0
260
Other Decks in Programming
See All in Programming
負債になりにくいCSSをデザイナとつくるには?
fsubal
9
2.4k
Kubernetes History Inspector(KHI)を触ってみた
bells17
0
230
もう僕は OpenAPI を書きたくない
sgash708
5
1.7k
技術を根付かせる / How to make technology take root
kubode
1
250
仕様変更に耐えるための"今の"DRY原則を考える / Rethinking the "Don't repeat yourself" for resilience to specification changes
mkmk884
0
190
Amazon S3 TablesとAmazon S3 Metadataを触ってみた / 20250201-jawsug-tochigi-s3tables-s3metadata
kasacchiful
0
170
Rails アプリ地図考 Flush Cut
makicamel
1
120
DROBEの生成AI活用事例 with AWS
ippey
0
130
責務と認知負荷を整える! 抽象レベルを意識した関心の分離
yahiru
3
500
Grafana Cloudとソラカメ
devoc
0
170
動作確認やテストで漏れがちな観点3選
starfish719
6
1k
社内フレームワークとその依存性解決 / in-house framework and its dependency management
vvakame
1
560
Featured
See All Featured
What's in a price? How to price your products and services
michaelherold
244
12k
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
10
1.3k
A designer walks into a library…
pauljervisheath
205
24k
Site-Speed That Sticks
csswizardry
4
380
The World Runs on Bad Software
bkeepers
PRO
67
11k
4 Signs Your Business is Dying
shpigford
182
22k
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.1k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
248
1.3M
How STYLIGHT went responsive
nonsquared
98
5.4k
How GitHub (no longer) Works
holman
314
140k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
30
4.6k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
226
22k
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に合わせ て「イベント・ドリブン」に ちょっとツールをリリースしてみ た話でした イベントに合わせてなんかリリースするとかとか、 が「イベント・ドリブン」という落ちでした