Найти - Пользователи
Полная версия: Как записать строки в один столбец csv файла
Начало » Python для новичков » Как записать строки в один столбец csv файла
1 2
sl0w
Добрый день, очень бы хотелось найти решенрие подобной задачи:

 import csv 
lis = ['something' , 'sometimes' , 'somemores' , 'with' , 'within']
with open('some_file.csv', 'a', newline ='') as f:
	writer = csv.writer(f)
	writer.writerows(lis)
print ('THe END')

где все слова должны дозаписываться в один столбец

Спасибо всем откликнувшимся
sl0w
В частности интересует реализация, которая будет выглядеть подобным образом

 import csv 
lis = [1 , 2 , 3,  4 , 5]
with open('some_file.csv', 'a', newline ='') as f:
	writer = csv.writer(f)
	writer.writerows(lis)
print ('THe END')

и будет вставляться в файл в определенное место
например вот так



те размещаться в один столбец с определенным именем (либо создавать новый столбец с именем и вставлять туда данные)
noob_saibot
sl0w
В частности интересует реализация, которая будет выглядеть подобным образом
так устроит?
 >>> import pandas as pd
>>> ls = ['something' , 'sometimes' , 'somemores' , 'with' , 'within']
>>> pd.DataFrame(ls).to_csv('file.name', index=False, header=False)

PS. +конкатенация
sl0w
хм, хотел разобраться с модулем csv
Спасибо за решение, но все же хотелось бы понять как работать с модулем csv в подобном случае
Пс. Вы предлагаете выгрузить файл csv конкатенировать и перезаписать файл ? разве нельзя просто отправить на запись по столбцу?
sl0w
 import csv 
lis = ['white', 'blue', 'green', 'pink']
with open('eggs1.csv', 'w') as f:
	writer = csv.writer(f,delimiter = '\n' )
	writer.writerow(lis)

с помощью модуля, но как положить в определенные столбцы пока не знаю
sl0w
немного переформулирую вопрос
как из подобной таблицы

можно сделать подобную


с помощью модуля csv не используя чтение файла.

Просто добавить в таблицу столбец в определенное место, со сдвигом других столбцов вправо (и присвоить столбцу новое название в самой первой строке)
vic57
sl0w
Просто добавить в таблицу столбец в определенное место, со сдвигом других столбцов вправо (и присвоить столбцу новое название в самой первой строк
не покатит. файл - последовательный байтовый массив.измените строку - запортите следующую
sl0w
другими словами получится чтение файла - добавление новых данных - перезапись файла ?
vic57
если файл большой то типа так
 with open('in.csv') as infile, open('out.csv','w') as outfile:
    for line in infile:
        lst = line.strip().split(',')
        lst[7] += 'mydata'
        outfile.write(','.join(lst) +'\n')
sl0w
хм, у меня как то криво работает все, получается что к столбцу 7 конкатенируется значение "mydata'

This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB