如何将多维列表转换为numpy数组,然后写入CSV文件

时间:2019-07-02 19:08:24

标签: python-3.x pandas dataframe psycopg2 numpy-ndarray

我正在使用python中的psycopg2运行查询。查询结果将保存到列表中。我试图将此列表转换为numpy数组,然后写入csv文件。这是我的做法。

rows = rcursor.fetchall()
df = pd.DataFrame(np.array(rows), columns = rows("db1 db2 db3 db4 db5"))
df.to_csv('alldata.csv',sep=',')]

但是当我这样做时,我得到了错误:

ValueError: Must pass 2-d input

我想我必须应用.reshape,但是行数很大(例如200000)。从查询到列表获取的数据如下所示。

RealDictRow([('db1', '0001'), ('db2', 002), ('db3', 003), ('db4', '004'), ('db5', 'Hello I worked on this so far but not happening. Call my number 245-456-7892)

如何在不获取ValueError的情况下将其正确写入csv:必须通过2D输入。预先感谢!

1 个答案:

答案 0 :(得分:0)

您可以直接使用pandas.read_sql_query将sql查询+连接转换为数据框。例如,请参见here