Добавление двух списков в отдельные столбцы в файле CSV в Python - PullRequest
0 голосов
/ 16 мая 2018

У меня есть два списка, как показано ниже.

a=[1,3,5,6,7,12]
b=[23,45,67,67]

Мне нужно иметь списки в отдельных столбцах в CSV-файле, например:

Item,Quantity 
[1,3,5,6,15],[23,45,67,67]

Я попытался использовать приведенные ниже фрагменты кода, но не получил желаемого результата.

with open('sample_dataset.csv', 'w', encoding = 'utf-16', newline='') as outfile:
    rowlists = zip(a, b)
    writer = csv.writer(outfile)
    for row in rowlists:
        writer.writerow(row)

Результат:

1,23
3,45
5,67
6,67

Использование панд

d=[a,b]
my_df = pd.DataFrame(d)
my_df.to_csv('sample_dataset.csv', index=False, header=False)

Результат в разных строках:

1,3,5,6,7.0,12.0
23,45,67,67,,

Ваша помощь и вклад приветствуются. Спасибо

Ответы [ 3 ]

0 голосов
/ 16 мая 2018
a=[1,3,5,6,7,12]
b=[23,45,67,67]

with open('sample_dataset.csv', 'w') as f:
    f.write("Item,Quantity\n")
    f.write("{},{}\n".format(a, b))

Выходной файл:

'''
Item,Quantity
[1, 3, 5, 6, 7, 12],[23, 45, 67, 67]

'''
0 голосов
/ 16 мая 2018
print(f'Item,Quantity\n[{",".join(map(str, a))}],[{",".join(map(str, b))}]')

Item,Quantity
[1,3,5,6,7,12],[23,45,67,67]
0 голосов
/ 16 мая 2018

Использование модуля CSV.

Ex:

a=[1,3,5,6,7,12]
b=[23,45,67,67]

import csv
with open(filename, "w") as outfile:
    writer = csv.writer(outfile, escapechar=' ', quoting=csv.QUOTE_NONE)
    writer.writerow(["Item", "Quantity"])
    writer.writerow([a, b])
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...