Печать в CSV вызывает пробел между каждым символом?
Я пытаюсь распечатать в CSV с Python3.6. Когда я печатаю в консоли, он выглядит нормально, но когда я пытаюсь печатать в CSV, он печатает l i k e | | t h i s
,
то есть с пробелами между каждым символом, и | между каждым пробелом.
Я вызываю функцию перевода здесь.
Пример ответа:
{
"translations": [{
"translation": "Hola"
}],
"word_count": 1,
"character_count": 5
}
Вот соответствующие выдержки:
with open('C:\\Users\\SimonTheKing\\Desktop\\file.csv', 'w') as csvfile:
spamwriter = csv.writer(csvfile, delimiter=' ',
quotechar='|', quoting=csv.QUOTE_MINIMAL)
# Print the contents
for x in range(len(first_column)): #iterates over every row in an xlsx
translation = language_translator.translate(
model_id='123',
text=first_column[x].value #reads from openpyxl xlsx
)
print(translation) #prints as expected
spamwriter.writerow(translation) #prints a space between every char
Кто-нибудь может предложить какое-нибудь руководство, пожалуйста?
1 ответ
Writerow принимает итеративное значение в качестве аргумента, поэтому, когда вы даете ему строку из одной строки, она обрабатывает строку как итерируемую и записывает ее со стандартным пространством (разделителем, установленным ранее) между каждым элементом.
Вам нужно будет либо задать строку в списке с помощью [translation], либо дать ей список.