Уведомления

Группа в Telegram: @pythonsu

#1 Апрель 13, 2010 13:55:38

apologize828
От:
Зарегистрирован: 2010-02-13
Сообщения: 223
Репутация: +  1  -
Профиль   Отправить e-mail  

Вопрос по модулю csv

Привет Всем! Начал разбираться с модулем csv и появился такой вопрос:
Имеется функция которая сохраняет данные из БД в csv файл, и затем когда я открываю этот файл в Excel я вижу что все данные разбиты по строкам.
Вопрос такой: возможно ли сделать так, чтобы запись данных происходила по ячейкам Excel а не по строчно.
Например:в записываемой строке есть такие данные(№,Имя,Фамилия) надо чтобы все данные строки были в отдельной ячейке?
вот мой код:

 
def save_as(self):
self.dialog_save=QtGui.QFileDialog()
self.path=self.dialog_save.getSaveFileName()

if self.path:
print(self.path)
sum=0
name=[]
surname=[]
query=QtSql.QSqlQuery()
query.exec("SELECT * FROM persons")
query.exec_()
while query.next():
sum+=1
name.append(str(query.value(1)))
surname.append(str(query.value(2)))

f = open(file=self.path,mode="w")
try:
writer = csv.writer(f,delimiter=" ")
writer.writerow( ('№', 'Имя', 'Фамилия') )
for i in range(sum):
writer.writerow( (i+1, (name[0+i]), (surname[0+i]) ))
finally:
f.close()
P.S. или это невозможно и разбивать придется самому в Excel?
Буду очень благодарен за разъяснения.



Офлайн

#2 Апрель 13, 2010 15:32:44

Griffon
От: Ukrain, Zaporozhie
Зарегистрирован: 2009-03-04
Сообщения: 324
Репутация: +  11  -
Профиль   Отправить e-mail  

Вопрос по модулю csv

По умолчанию у модуля стоит диалект excel, зачем менять разделитель на пробел?



Офлайн

#3 Апрель 13, 2010 15:38:13

apologize828
От:
Зарегистрирован: 2010-02-13
Сообщения: 223
Репутация: +  1  -
Профиль   Отправить e-mail  

Вопрос по модулю csv

Griffon
По умолчанию у модуля стоит диалект excel, зачем менять разделитель на пробел?
Ок спасибо! попробуем
ЭЭЭ! убрал вообще delimiter и теперь все тоже самое, только данные отделяются друг от друга через запятую.Так и должно быть?



Отредактировано (Апрель 13, 2010 15:47:48)

Офлайн

#4 Апрель 13, 2010 15:53:23

Griffon
От: Ukrain, Zaporozhie
Зарегистрирован: 2009-03-04
Сообщения: 324
Репутация: +  11  -
Профиль   Отправить e-mail  

Вопрос по модулю csv

Попробовал сам, dialect=“excel-tab” мой эксель открывает нормально.
Вообще разделитель между столбцами, как я понял, “\t”.

upd: и конец строки “\r” или “\n”.
То есть delimiter=“\t”, lineterminator=“\n”.



Отредактировано (Апрель 13, 2010 16:04:27)

Офлайн

#5 Апрель 13, 2010 16:59:42

apologize828
От:
Зарегистрирован: 2010-02-13
Сообщения: 223
Репутация: +  1  -
Профиль   Отправить e-mail  

Вопрос по модулю csv

Griffon
Попробовал сам, dialect=“excel-tab” мой эксель открывает нормально.
Вообще разделитель между столбцами, как я понял, “\t”.

upd: и конец строки “\r” или “\n”.
То есть delimiter=“\t”, lineterminator=“\n”.
Спасибо за пояснения!
Попробовал так:
 writer = csv.writer(f,dialect="excel-tab")
Все также данные разделяются через запятую,в блокноте отображаются почти нормально по столбцам(первая строка только поплыла чуть-чутьна,жму TAB-все встает как надо жму сохранить и все равно такая-же фигня в Excel(((
Попробовал так:
 writer = csv.writer(f,delimiter="\t")
Данные разделяются каким-то знаком вопросом,Но в блокноте все как выше!
Че-то не догоняю че за фигня,это не может быть связано с версией питона( у меня 3),или может еще какие есть причины или я все-же чето не так сделал в коде?
Есть еще идеи?
ладно буду пока думать дальше.



Отредактировано (Апрель 13, 2010 18:40:06)

Офлайн

#6 Апрель 13, 2010 18:47:36

apologize828
От:
Зарегистрирован: 2010-02-13
Сообщения: 223
Репутация: +  1  -
Профиль   Отправить e-mail  

Вопрос по модулю csv

Все пардон,работает! просто я нереально тупил)))
Еще раз спасибо!



Офлайн

#7 Янв. 22, 2011 16:57:00

reychal
От:
Зарегистрирован: 2010-12-14
Сообщения: 21
Репутация: +  0  -
Профиль   Отправить e-mail  

Вопрос по модулю csv

А что было не так? Столкнулась с такой же проблемой.



Офлайн

#8 Янв. 22, 2011 18:40:19

apologize828
От:
Зарегистрирован: 2010-02-13
Сообщения: 223
Репутация: +  1  -
Профиль   Отправить e-mail  

Вопрос по модулю csv

reychal
А что было не так? Столкнулась с такой же проблемой.
Эм… я точно не помню, но вроде в самом excel затупил))))
После того как откроешь сам файл в excel, сверху в меню надо выбрать Данные->там в разделе работа с данными->Текст по столбцам. И вот там то и смотри!



Офлайн

Board footer

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

Powered by DjangoBB

Lo-Fi Version