Запись одной строки в файл csv без разделителя [duplicate]

Я делаю это вот так:

try {
    YourClass yourClass = new YourClass();
    Method method = YourClass.class.getMethod("yourMethodName", ParameterOfThisMethod.class);
    method.invoke(yourClass, parameter);
} catch (Exception e) {
    e.printStackTrace();
}
32
задан martineau 17 January 2018 в 22:15
поделиться

3 ответа

writerow принимает последовательность. Вы даете ему одну строку, поэтому она обрабатывает это как последовательность, а строки действуют как последовательности символов.

Что еще вы хотите в этой строке? Ничего? Если это так, сделайте его одним из элементов:

spamwriter.writerow([u' '.join(model.a.stripped_strings).encode('utf8').strip()])

(Кстати, вызов unicode() совершенно не нужен, поскольку вы уже соединяетесь с разделителем unicode.)

9
ответ дан Eevee 16 August 2018 в 03:42
поделиться

.writerow() требует последовательности ('', (), []) и помещает каждый индекс в свой собственный столбец строки последовательно. Если желаемая строка не является элементом в последовательности, writerow() будет перебирать каждую букву в вашей строке и каждый будет записан в ваш CSV в отдельной ячейке.

после import csv

Если это ваш список:

myList = ['Diamond', 'Sierra', 'Crystal', 'Bridget', 'Chastity', 'Jasmyn', 'Misty', 'Angel', 'Dakota', 'Asia', 'Texxxas', 'Desiree', 'Monique', 'Tatiana']


listFile = open('Strippers.csv', 'wb')
writer = csv.writer(listFile)
for item in myList:
    writer.writerow(item)

В приведенном выше скрипте будет создан следующий CSV: strippers.csv

D,i,a,m,o,n,d
S,i,e,r,r,a
C,r,y,s,t,a,l
B,r,i,d,g,e,t
C,h,a,s,t,i,t,y
J,a,s,m,y,n
M,i,s,t,y
A,n,g,e,l
D,a,k,o,t,a
A,s,i,a
T,e,x,x,x,a,s
D,e,s,i,r,e,e
M,o,n,i,q,u,e
T,a,t,i,a,n,a

Если вы хотите, чтобы каждое имя в нем собственная ячейка, решение состоит в том, чтобы просто поместить вашу строку (item) в последовательность. Здесь я использую квадратные скобки []. :

listFile2 = open('Strippers2.csv', 'wb')
writer2 = csv.writer(listFile2)
for item in myList:
    writer2.writerow([item])

Сценарий с .writerow([item]) дает желаемые результаты: Strippers2.csv

Diamond
Sierra
Crystal
Bridget
Chastity
Jasmyn
Misty
Angel
Dakota
Asia
Texxxas
Desiree
Monique
Tatiana
51
ответ дан mdandr 16 August 2018 в 03:42
поделиться
  • 1
    Любите, насколько просто это решение. Благодаря! – TBirkulosis 1 November 2017 в 22:10

Просто окружайте его знаком списка (i.e [])

writer.writerow([str(one_column_value)])
0
ответ дан Reihan_amn 16 August 2018 в 03:42
поделиться
Другие вопросы по тегам:

Похожие вопросы: