質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.35%
openpyxl

openpyxlは、Excel2007以降のファイル(xlsx/xlsm/xltx/xltm)を読み書きするためのPythonライブラリです。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

Q&A

1回答

1609閲覧

【初心者】Pythonかopenpyxlを用いて,エクセルのタイムスタンプを適切に補完したいです!!!

Shgm

総合スコア3

openpyxl

openpyxlは、Excel2007以降のファイル(xlsx/xlsm/xltx/xltm)を読み書きするためのPythonライブラリです。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

0グッド

0クリップ

投稿2020/12/08 10:30

編集2020/12/11 10:05

Jupyter

1#ライブラリ読み込み 2import pandas as pd 3df = pd.read_csv('201123_data.csv', index_col=0) 4 5#書き出し 6print(df) 7 device_time datetime UV-Index ... Temp Hum Pressure 80 2064 2020-04-09 22:12:40 0.03 ... 24.5 35.3 101521.05 91 3256 2020-04-09 22:12:41 0.03 ... 24.0 35.1 101524.00 102 4447 2020-04-09 22:12:42 0.03 ... 24.1 35.1 101524.98 113 5638 2020-04-09 22:12:43 0.03 ... 24.0 35.1 101522.62 124 6829 2020-04-09 22:12:44 0.03 ... 24.0 35.1 101525.06 13... ... ... ... ... ... ... ... 1427042 4138440 2020-11-23 11:39:14 0.06 ... 22.8 26.8 101323.99 1527043 4139633 2020-11-23 11:39:15 0.06 ... 22.7 26.8 101321.39 1627044 4140827 2020-11-23 11:39:17 0.06 ... 22.8 26.8 101324.75 1727045 4142020 2020-11-23 11:39:18 0.05 ... 22.8 26.8 101324.30 1827046 4143214 2020-11-23 11:39:19 0.06 ... 22.8 26.8 101325.27 19 20# 現在時間書き出し 21dt_now = datetime . datetime . now() 22real_now = datetime.timedelta(hours=9) 23print(dt_now + real_now) 24 25```![イメージ説明](e80f03f36c707013ea88671cacec4dbd.png) 26 27このようにタイムスタンプが詰まっているnumbersファイル(たまに時間が抜け落ちている)を, 28 29![イメージ説明](2e588b0e42f12b222b8196cf68bea5b5.png) 30 31黄色い行(データを取り損ねた時間)に空白の行を挿入する形で, 32新しいファイルとして書き出したいです!!! 33 34 35ちなみに, 36時間のみ挿入できれば幸甚です!!!

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

Shgm

2020/12/08 11:00

最初の読み込みのコードはわかるのですが,時間の欠損?などの事態は初めてで対処法が分かりません……
YT0014

2020/12/08 16:17

dfを行毎に、行番号を追加して、表示するコードは書けますか? dfの任意行に行を追加するコードは書けますか? 書けるなら、それをご提示ください。 また、上記とは別に、指定日時(図の場合は2020-11-23 10:39:58)から、1秒ごとの、datetimeを作成するコードを、可能ならば、ご提示ください。
Shgm

2020/12/11 10:05 編集

dfを行毎に、行番号を追加して、表示するコードは書けますか?  >最初の行が0スタートですが書けます!(上の図を参照していただけると!) dfの任意行に行を追加するコードは書けますか?  >locを用いた,最後の行に列を追加するものはわかりますが,任意の行に適用するやり方はわかりません汗 指定日時(図の場合は2020-11-23 10:39:58)から、1秒ごとの、datetimeを作成するコード  >すいませんわかりません、、、
guest

回答1

0

以下の手順で、ご希望の処理ができるかと思います。

CSVを読み込む。
出力用DataFrameを、読込んだCSVと同一列構造で用意する。
対象日時に開始日時を、対象行に先頭行を設定。

終了日時まで、または、CSVの最後まで、以下の処理を繰り返す。
対象日時が、CSVの対象行のdatetimeと一致する場合は、出力用DataFrameにCSVの対象行を追加し、対象行を次行に。
そうでない場合は、空行を作成し、出力用DataFrameに追加。
どちらの場合も、対象日時を1秒進める。

出力用DataFrameをCSVファイルとして保存。

日付や時刻に対する演算
DataFrame に 1 行を追加する方法

なお、実際のコードは、上記ページなどを参考に作成してください。
私は、pythonを使ったことがないので。

投稿2020/12/11 10:59

YT0014

総合スコア1750

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.35%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問