Я считываю два столбца значений из CSV-файла построчно, что дает список записей строк, состоящий из двух строк (что-то вроде ['cat1', 'dog1'])
Когда я перебираю все извлеченные строки, я пытаюсь поместить всех «кошек» в один список, а «собак» в другой, примерно так:
for row in csv_file_entries:
catlist.extend(row[0])
doglist.extend(row[1])
Я ожидаю, что список собак будет следующим:
['dog1', 'dog2', 'dog3', 'dog4', ..., dogN]
но вместо этого я получаю
['d', 'o', 'g', '1', ' ', 'c', 'a', 't', '1', ' ', ...]
Я подозреваю, что когда я выясню, почему символы являются элементами списка, а не строками, я также выясню, почему кошки и собаки находятся в одном списке, хотя элементы строки 0 — это собаки, а элементы строки 1 — кошки.
Мой фактический код приведен ниже:
# get csv file containing digitized EOT data
# first column is day of year, second is EOT minutes
# taken from US Naval Obs site and digitized with web digitizer program
fname = 'C:\\time_calculator\\EOT.csv'
dtzd_DOY = dtzd_EOT = []
print("tarrtart", dtzd_DOY)
with open(fname, 'rt') as csvfile:
eot_entries = csv.reader(csvfile, delimiter=',')
# print(eot_entries)
print("pooooty", dtzd_DOY, dtzd_EOT)
for row in eot_entries:
print(row, row[0], row[1])
thisDOY = row[0]
thisEOT = row[1]
print(thisDOY)
print(thisEOT)
# thisEOT = "heychittyfgfgfttrgrtfgrt"
dtzd_DOY.extend(thisDOY)
dtzd_EOT.extend(thisEOT)
print(dtzd_DOY, dtzd_EOT)
Подробнее здесь: https://stackoverflow.com/questions/435 ... characters
Метод Python list.extend разбивает строку на символы [дубликат] ⇐ Python
Программы на Python
-
Anonymous
1766738428
Anonymous
Я считываю два столбца значений из CSV-файла построчно, что дает список записей строк, состоящий из двух строк (что-то вроде ['cat1', 'dog1'])
Когда я перебираю все извлеченные строки, я пытаюсь поместить всех «кошек» в один список, а «собак» в другой, примерно так:
for row in csv_file_entries:
catlist.extend(row[0])
doglist.extend(row[1])
Я ожидаю, что список собак будет следующим:
['dog1', 'dog2', 'dog3', 'dog4', ..., dogN]
но вместо этого я получаю
['d', 'o', 'g', '1', ' ', 'c', 'a', 't', '1', ' ', ...]
Я подозреваю, что когда я выясню, почему символы являются элементами списка, а не строками, я также выясню, почему кошки и собаки находятся в одном списке, хотя элементы строки 0 — это собаки, а элементы строки 1 — кошки.
Мой фактический код приведен ниже:
# get csv file containing digitized EOT data
# first column is day of year, second is EOT minutes
# taken from US Naval Obs site and digitized with web digitizer program
fname = 'C:\\time_calculator\\EOT.csv'
dtzd_DOY = dtzd_EOT = []
print("tarrtart", dtzd_DOY)
with open(fname, 'rt') as csvfile:
eot_entries = csv.reader(csvfile, delimiter=',')
# print(eot_entries)
print("pooooty", dtzd_DOY, dtzd_EOT)
for row in eot_entries:
print(row, row[0], row[1])
thisDOY = row[0]
thisEOT = row[1]
print(thisDOY)
print(thisEOT)
# thisEOT = "heychittyfgfgfttrgrtfgrt"
dtzd_DOY.extend(thisDOY)
dtzd_EOT.extend(thisEOT)
print(dtzd_DOY, dtzd_EOT)
Подробнее здесь: [url]https://stackoverflow.com/questions/43531363/python-list-extend-method-breaks-string-into-characters[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия