Githubに改行コードありのファイルをアップロードすると、改行コードが変換される
GitHubは、アップロードされたファイルをUTF-8エンコーディングで保存します。
このため、例えばCSVファイルに改行が含まれている場合、改行コードは 「\n」 に変換されます。
つまり、ローカル環境でCSVファイルを作成する際に使用される改行コードが、GitHub上での改行コードとは異なる場合、ファイルの内容が変更される可能性があります。
例えば、Windowsの場合は改行に 「\r\n」 が使用されますが、GitHub上では 「\n」 に変換されます。
したがって、CSVファイルに改行が含まれる場合は、ローカル環境での改行コードとGitHub上での改行コードが一致するように注意する必要があります。
なんでこんなこと気にするのか
Streamlit CloudというWebアプリを超絶簡単に作れるサービスを見つけたので、お試しでやってみたが、どうやらgithub上のCSVを想定通り(ローカルと同じように)読み込めてないらしいことが判明。
色々調べた結果、ローカルはWindowsだから、改行コードが 「\r\n」 。
だけど、GithubはUnix/Linux系なので、改行コードが 「\n」 になる。。
Windows歴が長すぎて改行コードといえば、「\r\n」という思い込みがあったのが良くなかった。。。
追記(2023年4月10日)
投稿後、早速コメントいただいたので、追記いたします。
git には、「core.autocrlf」という設定値があり、これがデフォルトで「true」となっていました(少なくとも、Windows環境では)。
「true」の場合、commit時に「\r\n」を「\n」に変換してくれるという素敵な仕様のようです。
今回は、使用したStreamlit CloudがLinuxサーバなので、「\n」に変換されたままでGithubにおいておこうと思います。
やっぱり、環境構成って一番めんどくさい・・・
Streamlit いいね!
サクサクっと、国土地理院からいただいた日本の山岳情報について、表示するアプリを作ってみた。
見た目の設定とか全然気にしなくても、それっぽいレイアウトで作ってくれるから、結構楽しかった。