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

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

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

CSV(Comma-Separated Values)はコンマで区切られた明白なテキスト値のリストです。もしくは、そのフォーマットでひとつ以上のリストを含むファイルを指します。

Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

Q&A

解決済

2回答

2509閲覧

csv上書きの際ファイルが中身のない状態に

op_shida

総合スコア4

CSV

CSV(Comma-Separated Values)はコンマで区切られた明白なテキスト値のリストです。もしくは、そのフォーマットでひとつ以上のリストを含むファイルを指します。

Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

0グッド

0クリップ

投稿2020/07/27 07:31

前提・実現したいこと

取得したデータを、ラズパイでCSVに毎回上書きして
それを別のラズパイで読み込み集計して表示しているのですが、
CSVの上書きの再一瞬中身のないファイル状態の時とcsvの読み込みが重なり、
pandasで読み込み処理しているのですが、
pandas.errors.EmptyDataError: No columns to parse from file
になってしまいます。
出来ればcsv上書きの際ファイルが中身のない状態にさえならなければいいのですが。

発生している問題・エラーメッセージ

pandas.errors.EmptyDataError: No columns to parse from file

python

1 2with open(today_date , "w" , newline='') as csv_file: 3 fieldnames = ['OUT',] 4 writer = csv.Writer(csv_file, fieldnames=fieldnames) 5 writer.writerow({'OUT':out_5_0,})

上記のような感じで上書きしてます。

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

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

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

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

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

guest

回答2

0

ベストアンサー

ファイルの作成中は別名で作成しておいて、書き終ったらrename(move)するという方法もあります。
この方法ならデッドロックなどの心配もありませんし、途中のファイルにアクセスされてしまうこともありません。ストレージの容量が倍くらい必要になるのが難点でしょうか。

投稿2020/07/27 08:34

TakaiY

総合スコア13790

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

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

op_shida

2020/07/28 01:32

この方法でエラーが出なくなりました。
op_shida

2020/07/28 01:32

ありがとうございます。
guest

0

書き込んでいる間はそのファイルを排他ロックしてください。

投稿2020/07/27 07:35

Daregada

総合スコア11990

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

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

op_shida

2020/07/28 01:31

ありがとうございます。 排他ロック調べたいと思います。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.35%

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

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

質問する

関連した質問