私は最近 Python の学習を開始しました。2 秒ごとに 1 分間データを記録し、新しいファイルから再開するテキスト ファイルを作成するためのアプリケーションがあります。開いているファイルが SQL 用にフォーマットされており、SQL INSERT クエリが追加されている場所を書きました。
私が抱えている問題は、実際に正しく動作するコードを作成することです。Python 自体は、既に開いているファイルに新しい SQL 行を挿入するだけで問題なく動作していますが、出力は次のようになります。
[blank line is here because of the \n]
INSERT INTO table (column 1, column 2) VALUES ('7113', '1337');
INSERT INTO table (column 1, column 2) VALUES ('7113', '1337');
私の問題は、データを取得する必要があるため、先頭に改行がなく、最後の行にセミコロンがないことです。
これは私のソースです:
from threading import Timer
import time
def start():
t = Timer(1.0,start)
foo = "7113"
bar = "1337"
date = time.strftime('%Y-%m-%d %H:%M:%S')
sql = "\nINSERT INTO table (column 1, column 2) VALUES ('%s', '%s');" % (foo, bar)
query = open(date + ".sql", "a")
query.write(sql)
query.close()
t.start()
start()
私は言語が得意ではないので、私がやりたいことのより簡単なバージョンは次のとおりです。
INSERT INTO table (column 1, column 2) VALUES ('7113', '1337');
1 つの関数で最初のコードを実行し、前に余分な行を付けずにセミコロンを付けて吐き出します。- 別の関数を 58 回実行し
\n
、SQL クエリの前に を含む行を追加し、後にセミコロンを追加します。 \n
セミコロンを含め、最後の関数を 60 回実行します。- 現在のファイルを閉じて、その分のタイムスタンプを含む新しいテキスト ファイルを生成し
2013-07-09 12-30-00.sql
ます2013-07-09 12-31-00.sql
。
その後、PHP または Python スクリプトを取得して日付を読み取って実行する、またはそれらすべてを実行してテーブルを昇順に並べ替えるなど、さらに多くのことがあると思います。ただし、それは後日解決して調査することができます。これを機能させる方法を数時間検索していて、役立つものが見つからなかったので、これを機能させたいだけです。しかし、答えは明らかだと確信しています。
読んでくれてありがとう。皆さんが助けてくれることを願っています! 私はこのウェブサイトを役立つちょっとした情報のためにたくさん使ってきましたが、それは素晴らしいものです. これを思いついた人は誰でも賞賛される必要があります。
また、Python を学習するのに役立つリソースがあれば (私はCodecademyで学習しました)、本当に感謝しています。これは、C++ を学ぶよりもはるかに楽しいものです。