gugatr0n1c
gugatr0n1c

Reputation: 477

How to export list of arrays into csv in Python?

I have this list in Python:

[array([1, 2, 3]), array([3., 4., 5., 6., 7.]), array([7, 8])]

and I would like to export this to csv to look like this - each array on new line...

1, 2, 3

3., 4., 5., 6., 7.

7, 8

Each array has a different length.

I tried to use numpy.savetxt, numpy.vstack but these different lengths give me problems.

Can anyone help?

Upvotes: 5

Views: 6412

Answers (2)

Pavel Ryvintsev
Pavel Ryvintsev

Reputation: 1008

Pandas module is particularly good for working with data that has missing values:

import pandas as pd

arr = [[1, 2, 3], [3, 4], [5, 6, 7, 8]]
df = pd.DataFrame(arr)
print(df.to_csv(index=False, header=False))

Output:

'1,2,3.0,\n3,4,,\n5,6,7.0,8.0\n'

Upvotes: 3

Ujjwal
Ujjwal

Reputation: 3158

You can also use:

import csv
import numpy as np
b = open('output.csv', 'w')
a = csv.writer(b)
data = [np.array([1, 2, 3]), np.array([3., 4., 5., 6., 7.]), np.array([7, 8])]
a.writerows(data)
b.close()

Upvotes: 3

Related Questions