Как сохранить файл строки csv в python - PullRequest
0 голосов
/ 30 апреля 2020

Я новичок с python.

У меня есть все oop с функцией извести, которая генерирует вывод на каждой итерации:

file = []
res = output.as_list() at i=0 It contains [('ft-1822 > 0.45', -0.1625), ('ft-1818 > 0.18', -0.109)]
file.append(res)
res = output.as_list() at i=1 It contains [('ft-1822 > 0.45', -0.1658), ('ft-1818 > 0.18', -0.1118)]
file.append(res)
res = output.as_list() at i=2 It contains [('ft-1822 > 0.45', -0.15975), ('ft-1818 > 0.18', -0.111309)]
file.append(res)

Окончательный файл содержит:

[[('ft-1822 > 0.45', -0.1625), ('ft-1818 > 0.18', -0.109)], [('ft-1822 > 0.45', -0.1658), ('ft-1818 > 0.18', -0.1118)], [('ft-1822 > 0.45', -0.15975), ('ft-1818 > 0.18', -0.111309)]]

Я хочу сохранить это в CSV-файле с 2 столбцами и 3 строками:

[('ft-1822 > 0.45', -0.1625), ('ft-1818 > 0.18', -0.109)]
[('ft-1822 > 0.45', -0.1658), ('ft-1818 > 0.18', -0.1118)]
[('ft-1822 > 0.45', -0.15975), ('ft-1818 > 0.18', -0.111309)]

Я пробовал это, но я получаю все значения в одной строке

with open('file.csv', 'w') as f:
    wr = csv.writer(f, delimiter=',', quotechar='"', quoting=csv.QUOTE_MINIMAL)
    wr.writerow(file)

Ответы [ 2 ]

1 голос
/ 30 апреля 2020

Возможно, есть гораздо более элегантные способы, но простой способ сделать это выглядит следующим образом:

mytuples = [[('ft-1822 > 0.45', -0.1625), ('ft-1818 > 0.18', -0.109)], [('ft-1822 > 0.45', -0.1658), ('ft-1818 > 0.18', -0.1118)], [('ft-1822 > 0.45', -0.15975), ('ft-1818 > 0.18', -0.111309)]]
with open('test.csv','w') as f:
    for mytuple in mytuples:
        f.write(str(mytuple)+ '\n')

Вы l oop над списком и преобразуете элемент списка в строку, добавляя Новая строка, а затем запись этого элемента списка в файл.

1 голос
/ 30 апреля 2020

Используя Pandas, мы можем сделать это следующим образом:

import pandas as pd
df = pd.DataFrame(input_list)
df.to_csv(output_path, index = False)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...