writer.writerow()
означает запись списка в строку. Таким образом, каждый раз, когда вы его называете, будет новая строка. Таким образом, результат - это то, чего вы не хотите, они находятся в одной колонке. Если вы хотите записать их в одну строку. Вам лучше получить список, а затем поместить все нужные вам данные в строку, например l = [111, 222, 333, 444]
. Затем вызовите writer.writerow(l)
только один раз. Тогда вы можете получить то, что хотите.
редактировать:
Если сценарий служит как демон, работает все время и ждет ввода:
#10 is the number you want in a row, you can assign it yourself.
L = []
urls = ['http://www.google.com', 'http://facebookcom', 'http://twitter.com']
for url in urls:
u = urllib2.urlopen(url)
L.append(u.geturl())
localfile = open('C:\\test\\file.csv', 'w')
writer = csv.writer(localfile)
writer.writerow(L)
localfile.close()
Если сценарий служит как обратный вызов, каждый раз, когда он получает только один URL. Мне очень жаль, что я не вижу никакого API в модуле csv
, чтобы изменить файл.
И что касается меня, я не думаю, что в этом случае вам нужен файл csv. Одна строка в csv обычно представляет целую структуру данных, а не как список. Если вы хотите легко импортировать файл, вы можете просто использовать обычный файл, по одному URL-адресу или разделить пространство. В следующий раз, когда вам это нужно, вы можете просто использовать str
методы, такие как split
, чтобы обработать его и быстро включить в список.
>>> 'http://www.google.com\nhttp://www.facebook.com\nhttp://www.twitter.com'.split('\n')
['http://www.google.com', 'http://www.facebook.com', 'http://www.twitter.com']
>>>
это может быть csv, который вы получаете. когда что-то происходит, что вы не понимаете, лучше всего посмотреть, что происходит. используйте csv.reader, а затем распечатайте некоторые из них, чтобы вы могли его увидеть, и, может быть, тогда вы поймете, что не так. Если нет, напишите, что вы видите, и, может быть, мы сможем помочь! –
hi ryan но я хочу написать, чтобы не читать список (я хочу написать список URL-адресов по столбцам вместо строк –