Уведомления

Группа в Telegram: @pythonsu

#1 Дек. 15, 2017 15:08:01

sl0w
Зарегистрирован: 2016-04-28
Сообщения: 109
Репутация: +  1  -
Профиль   Отправить e-mail  

Как записать строки в один столбец csv файла

Добрый день, очень бы хотелось найти решенрие подобной задачи:

 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 (Дек. 15, 2017 15:08:29)

Офлайн

#2 Дек. 15, 2017 16:47:16

sl0w
Зарегистрирован: 2016-04-28
Сообщения: 109
Репутация: +  1  -
Профиль   Отправить e-mail  

Как записать строки в один столбец csv файла

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

 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')

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



те размещаться в один столбец с определенным именем (либо создавать новый столбец с именем и вставлять туда данные)

Отредактировано sl0w (Дек. 15, 2017 16:49:36)

Офлайн

#3 Дек. 15, 2017 16:53:12

noob_saibot
Зарегистрирован: 2013-09-11
Сообщения: 495
Репутация: +  20  -
Профиль   Отправить e-mail  

Как записать строки в один столбец csv файла

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

PS. +конкатенация

Отредактировано noob_saibot (Дек. 15, 2017 16:54:36)

Офлайн

#4 Дек. 15, 2017 17:25:09

sl0w
Зарегистрирован: 2016-04-28
Сообщения: 109
Репутация: +  1  -
Профиль   Отправить e-mail  

Как записать строки в один столбец csv файла

хм, хотел разобраться с модулем csv
Спасибо за решение, но все же хотелось бы понять как работать с модулем csv в подобном случае
Пс. Вы предлагаете выгрузить файл csv конкатенировать и перезаписать файл ? разве нельзя просто отправить на запись по столбцу?

Отредактировано sl0w (Дек. 15, 2017 17:25:42)

Офлайн

#5 Дек. 15, 2017 17:42:46

sl0w
Зарегистрирован: 2016-04-28
Сообщения: 109
Репутация: +  1  -
Профиль   Отправить e-mail  

Как записать строки в один столбец csv файла

 import csv 
lis = ['white', 'blue', 'green', 'pink']
with open('eggs1.csv', 'w') as f:
	writer = csv.writer(f,delimiter = '\n' )
	writer.writerow(lis)

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

Офлайн

#6 Дек. 15, 2017 18:06:28

sl0w
Зарегистрирован: 2016-04-28
Сообщения: 109
Репутация: +  1  -
Профиль   Отправить e-mail  

Как записать строки в один столбец csv файла

немного переформулирую вопрос
как из подобной таблицы

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


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

Просто добавить в таблицу столбец в определенное место, со сдвигом других столбцов вправо (и присвоить столбцу новое название в самой первой строке)

Офлайн

#7 Дек. 15, 2017 18:41:49

vic57
Зарегистрирован: 2015-07-07
Сообщения: 913
Репутация: +  127  -
Профиль  

Как записать строки в один столбец csv файла

sl0w
Просто добавить в таблицу столбец в определенное место, со сдвигом других столбцов вправо (и присвоить столбцу новое название в самой первой строк
не покатит. файл - последовательный байтовый массив.измените строку - запортите следующую

Офлайн

#8 Дек. 15, 2017 19:03:51

sl0w
Зарегистрирован: 2016-04-28
Сообщения: 109
Репутация: +  1  -
Профиль   Отправить e-mail  

Как записать строки в один столбец csv файла

другими словами получится чтение файла - добавление новых данных - перезапись файла ?

Офлайн

#9 Дек. 15, 2017 19:29:49

vic57
Зарегистрирован: 2015-07-07
Сообщения: 913
Репутация: +  127  -
Профиль  

Как записать строки в один столбец csv файла

если файл большой то типа так

 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')

Офлайн

#10 Дек. 15, 2017 20:33:05

sl0w
Зарегистрирован: 2016-04-28
Сообщения: 109
Репутация: +  1  -
Профиль   Отправить e-mail  

Как записать строки в один столбец csv файла

хм, у меня как то криво работает все, получается что к столбцу 7 конкатенируется значение "mydata'

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version