#python #python-3.x #missing-data #readlines
#python #python-3.x #отсутствуют-данные #строки чтения
Вопрос:
У меня есть файл .csv, в котором есть только один столбец чисел, и я хочу прочитать каждое число в столбце и распечатать его в консоли следующим образом:
1
2
3
4
вот код, который я использовал:
file_reference2 = open("file1.csv", "r")
read_lines1 = file_reference1.readlines()
for line1 in read_lines1:
print(line1)
file_reference1.close()
чего я ожидаю, так это:
1
2
3
в консоли.
Но то, что я получаю, это:
1
И программа останавливается. Как мне заставить его печатать весь файл?
Комментарии:
1. Где ваш
file_reference1
определен? Или это опечатка?2. Почему вы не ожидаете, что он будет печататься
4
?3. Не удается воспроизвести. Это похоже на опечатку с момента вашего присвоения
open
file_reference2
, но вы используетеfile_reference1
.4. Вещи, которые я обычно делаю, публикуя о разборе файла: 0) сузьте проблему до наименьшего объема кода и данных, где проблема все еще воспроизводима, 1) Версия Python,
python --version
2) покажите весь файл или его часть,cat /path/to/file
3) покажите весь код,cat /path/to/script.py
, 4) покажите результат выполнения кода в командной строке. Это облегчит понимание того, что именно происходит.
Ответ №1:
Вы создаете переменную file_reference2
, но позже вызываете file_reference1.readlines()
(обратите внимание на разницу в именах переменных). Вероятно, вы читаете строки из неправильного файла, поскольку этот код хорошо работает для меня, если я изменю эту строку на file_reference2.readlines()
вот так:
file_reference2 = open("file1.csv", "r")
read_lines1 = file_reference2.readlines()
for line1 in read_lines1:
print(line1)
file_reference2.close()