我有兩個列表要合并為熊貓數據框。列將是 CSV 的標題,數據包含作為單個列表的數據行。import pandas as pdcolumns = [column[0] for column in cursor.description]len(columns)>5data = cursor.fetchall()len(data)>2458len(data[0])>5df = pd.DataFrame(data=data, index=None, columns=columns)>ValueError: Shape of passed values is (1, 2458), indices imply (5, 2458).有人可以幫我將這兩個列表合并為熊貓數據框嗎?如果我遺漏了任何其他細節,請告訴我。謝謝!
2 回答

HUX布斯
TA貢獻1876條經驗 獲得超6個贊
光標的存在表明您正在使用pyodbc
. data
包含pyodbc.Row
對象,因此pd.DataFrame
構造函數無法拆分數據。
試試這個
df = pandas.DataFrame([tuple(t) for t in cursor.fetchall()], columns=columns)

開滿天機
TA貢獻1786條經驗 獲得超13個贊
您的 csv 文件顯然有 5 列,但您的數據是單個值列表。這意味著您也只需要 1 個列標題。Pandas 現在抱怨是因為列列表 (5) 的維度與數據 (1) 中的列數不匹配。例如,您可以通過以下方式解決此問題:
df = pd.DataFrame(data=data, index=None, columns=[columns[0]])
那是假設您要使用第一個列名。
添加回答
舉報
0/150
提交
取消