2
私はpandasとpythonを使用してmysqlデータベースからデータフレームを作成しようとしていましたが、私は助けが必要な問題に遭遇しました。pandasはmysqlデータベースからデータフレームを作成します
問題は、データフレームをExcelに書き込むときに、最後の行のみを書き込む、つまり前のすべてのエントリを上書きし、最後の行のみが書き込まれることです。以下のコードを参照してください
import pandas as pd
import numpy
import csv
with open('C:path_to_file\\extract_job_details.csv', 'r') as f:
reader = csv.reader(f)
for row in reader:
jobid = str(row[1])
statement = """select jt.job_id ,jt.vendor_data_type,jt.id as TaskId,jt.create_time as CreatedTime,jt.job_start_time as StartedTime,jt.job_completion_time,jt.worker_path, j.id as JobId from dspe.job_task jt JOIN dspe.job j on jt.job_id = j.id where jt.job_id = %(jobid)s"""",
df_mysql = pd.read_sql(statement1, con=mysql_cn)
try:
with pd.ExcelWriter(timestr+'testResult.xlsx', engine='xlsxwriter') as writer:
df_mysql.to_excel(writer, sheet_name='Sheet1')
except pymysql.err.OperationalError as error:
code, message = error.args
mysql_cn.close()
私が間違っている場所を特定するのを助けてくれる人は誰ですか? PS私はpandasとpythonの新機能です。あなたは既にしているとき おかげで、私はあなたが同時にディスクやデータベースからの読み込み何をしようとして、本当にわからないんだけど、カルロス
をあなたは 'statement'を定義したが、何とかあなたは' pd.read_sql'関数に 'statement1'を渡しています。それはあなたの問題だろうか? – Abdou