Преобразование набора в .csv с использованием цикла for - PullRequest
0 голосов
/ 22 октября 2019

Я пытаюсь преобразовать набор URL-адресов Python в файл .csv, используя цикл for. Я использую Python 3.8. Набор содержит 116 уникальных URL. Однако в моем выходном файле .csv содержится более 6000 значений, разделенных запятыми.

c = open('task_links.csv', 'w')
cw = csv.writer(c, lineterminator='')
mylist = []
for x in myset:
    mylist.append(x)
    if not mylist:
        continue
    else:
        cw.writerow(mylist)
c.close()

Ответы [ 3 ]

1 голос
/ 22 октября 2019

Если вы хотите одну строку и несколько столбцов:

with open('task_links.csv', 'w') as f:
    writer = csv.writer(f)
    writer.writerow(list(myset))

Если вы хотите один столбец и несколько строк

with open('task_links.csv', 'w') as f:
    writer = csv.writer(f)
    for url in myset:
        writer.writerow([url])
0 голосов
/ 22 октября 2019

Если вы не против пакетов с пандами

import pandas as pd

set_of_links = set(["https://www.link{}.com".format(i) for i in range(116)])
df = pd.DataFrame(set_of_links, columns=['links'])
df.to_csv('task_links.csv', index=False)
0 голосов
/ 22 октября 2019

Вы добавляете каждый URL в вашем наборе к mylist, а затем записываете весь список в свой CSV-файл. Это должно работать:

c = open('task_links.csv', 'w')
cw = csv.writer(c, lineterminator='')
mylist = []
for x in myset:
    mylist.append(x)
    cw.writerow(x)
c.close()
...