Сохранение списков в файлы в Python - PullRequest
0 голосов
/ 11 ноября 2019

Что не так с сохранением списков a, b в файл, пожалуйста?

print(type(a[1]))
print(type(b))

дает

<class 'numpy.ndarray'>
<class 'numpy.ndarray'>

код:

with open("file.txt","w") as f:
    for (b,a[1]) in zip(b,a[1]):
        f.write("{0},{1}\n".format(b,a[1]))

ошибка:

TypeError: object of type 'numpy.float64' has no len()

Спасибо

РЕДАКТИРОВАТЬ

np.array(a.tolist())

Потерять точность?

Когда я использую

with open("file.txt","w") as f:
    for (x,y) in zip(b,a[1]):
        f.write("{0},{1}\n".format(b,a[1]))

результат:

[ 6430.032  6430.073  6430.112 ...,  6626.907  6626.948  6626.99 ],[ 0.990688  0.991408  0.993574 ...,  1.03006   1.0326    1.0325  ]
[ 6430.032  6430.073  6430.112 ...,  6626.907  6626.948  6626.99 ],[ 0.990688  0.991408  0.993574 ...,  1.03006   1.0326    1.0325  ]
[ 6430.032  6430.073  6430.112 ...,  6626.907  6626.948  6626.99 ],[ 0.990688  0.991408  0.993574 ...,  1.03006   1.0326    1.0325  ]

печать списков a и b:

[ 0.99572325  0.9969785   0.99801075 ...,  1.0412075   1.0423975   1.0432775 ]
[ 6430.032  6430.073  6430.112 ...,  6626.907  6626.948  6626.99 ]

Я хотел бы два столбца в файле - столбец с и столбец сb как желаемый вывод.

1 Ответ

0 голосов
/ 11 ноября 2019

Вы можете использовать библиотеку pandas, чтобы сделать что-то вроде этого:

import pandas as pd

#create two lists
a = list(range(10))
b = list(range(20, 30))

#create two series from the lists
series_a = pd.Series(a)
series_b = pd.Series(b)

#create a empty dataframe and name the columns
df = pd.DataFrame(columns=['a', 'b'])

#add the series to the dataframe by columns names df['cloumnname']
df['a'] = series_a
df['b'] = series_b

#wtiring the dataframe to an excel file
with pd.ExcelWriter('path/file.xlsx') as writer:
    df.to_excel(writer, sheet_name='Sheet1')

Обратите внимание, что это сохраняет результат в файл Excel, это должен быть текстовый файл, как вы упомянули в своем вопросе? Если это так, эта ссылка должна помочь: Python, Pandas: записать содержимое DataFrame в текстовый файл

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...