簡體   English   中英

將 fetchall() 多次執行的結果附加到單個 DF 並轉換為 CSV,但在 CSV 中無法將列表拆分為多列

[英]Appending Result from fetchall() multiple execution to a single DF and converting to a CSV, but in CSV unable to split the list into multiple columns

query = pd.read_csv('input_query.csv')
query_list = query['DB_QUERY'].tolist()
length = len(query_list)
result_df = pd.DataFrame()
for i in range(length):
    sql1 = query_list(i)
    cusror1 = conn.cursor()
    cursor1.execute(sql1)
    result = cursor.fetchall()
    result_d = pd.DataFrame(result)
    result_f = result_f.append(result_d)
 result_f.to_csv('output_result.csv',index =False,header=1)

輸出格式為 ( https://i.stack.imgur.com/hHqHr.png ) 0,1,2,3,4 booking,complete,Booking_Daily.snapshot,2021-07-31,2 booking,valid, Booking_Daily.snapshot,2021-07-31,97

必需的格式( https://i.stack.imgur.com/vMlD0.png ) - 值拆分為多列,而不是帶有列標題的單列。

嘗試這個:

for i in range(length):
    sql1 = query_list(i)
    cusror1 = conn.cursor()
    cursor1.execute(sql1)
    result = cursor.fetchall()
    result_d = pd.DataFrame(result)
    result_d.to_csv('output_result.csv',index =False,header=1, mode=’a’)

一個小小的解釋:result_d 現在是一個數據框,因此您可以在每個循環中將其附加到 csv 中。

或者:您可以通過執行all_results += result[0]將所有獲取所有結果附加到列表中,因為 fetchall 返回列表元組......

在循環結束時,您可以將 all_results 轉換為數據框並繼續導出為 csv

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM