Форум сайта python.su
Добрый день, очень бы хотелось найти решенрие подобной задачи:
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)
Офлайн
В частности интересует реализация, которая будет выглядеть подобным образом
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)
Офлайн
sl0wтак устроит?
В частности интересует реализация, которая будет выглядеть подобным образом
>>> import pandas as pd >>> ls = ['something' , 'sometimes' , 'somemores' , 'with' , 'within'] >>> pd.DataFrame(ls).to_csv('file.name', index=False, header=False)
Отредактировано noob_saibot (Дек. 15, 2017 16:54:36)
Офлайн
хм, хотел разобраться с модулем csv
Спасибо за решение, но все же хотелось бы понять как работать с модулем csv в подобном случае
Пс. Вы предлагаете выгрузить файл csv конкатенировать и перезаписать файл ? разве нельзя просто отправить на запись по столбцу?
Отредактировано sl0w (Дек. 15, 2017 17:25:42)
Офлайн
import csv lis = ['white', 'blue', 'green', 'pink'] with open('eggs1.csv', 'w') as f: writer = csv.writer(f,delimiter = '\n' ) writer.writerow(lis)
Офлайн
немного переформулирую вопрос
как из подобной таблицы
можно сделать подобную
с помощью модуля csv не используя чтение файла.
Просто добавить в таблицу столбец в определенное место, со сдвигом других столбцов вправо (и присвоить столбцу новое название в самой первой строке)
Офлайн
sl0wне покатит. файл - последовательный байтовый массив.измените строку - запортите следующую
Просто добавить в таблицу столбец в определенное место, со сдвигом других столбцов вправо (и присвоить столбцу новое название в самой первой строк
Офлайн
другими словами получится чтение файла - добавление новых данных - перезапись файла ?
Офлайн
если файл большой то типа так
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')
Офлайн
хм, у меня как то криво работает все, получается что к столбцу 7 конкатенируется значение "mydata'
Офлайн