Как заполнить два отдельных списка, используя два отдельных списка? [Дубликат]

В веб-приложении каждая задача выполняется в виде запроса и ответа.

Программирование на стороне клиента - это HTML-код с Java-скриптом и его фреймворками, библиотеки выполняются в Internet Explorer, Mozilla, Chrome-браузерах. В сценарии Java-сценария серверные сервлеты программирования выполняются в Tomcat, web-логике, j боссе, WebSphere severs

43
задан Nope 10 January 2009 в 22:04
поделиться

2 ответа

Вы можете искать файл напрямую. Например:

>>> f = open("csv.txt")
>>> c = csv.reader(f)
>>> for row in c: print row
['1', '2', '3']
['4', '5', '6']
>>> f.seek(0)
>>> for row in c: print row   # again
['1', '2', '3']
['4', '5', '6']
64
ответ дан Federico A. Ramponi 25 August 2018 в 20:36
поделиться
  • 1
    Это действительно начинается снова, но если файл имеет строку заголовка, он возвращает имена столбцов в качестве «значений». для первой строки. Поэтому, если вы используете DictReader, вы получите следующую строку: & quot; {'name': 'name', 'dob': 'dob', 'email': 'email} & quot; – Nick K9 5 December 2016 в 23:19
  • 2
    Любой способ сделать то же самое, если у вас есть только ссылка на читателя, а не на дескриптор файла? Я пишу функцию, которая берет читателя в качестве входных данных, просматривает все строки и (в идеале), а затем сбрасывает местоположение файла для поиска (0) после разбора. В идеале нам не пришлось бы передавать параметр файла также этой функции, а подпись функции была бы просто: csv_aggregate(reader, agg_functions, reset_after_calc=True) Можно ли использовать reader._file.seek(0) или что-то подобное? – aaronsteers 5 March 2018 в 22:00

Вы все равно можете использовать file.seek (0). Например, посмотрите на следующее:

import csv
file_handle = open("somefile.csv", "r")
reader = csv.reader(file_handle)
# Do stuff with reader
file_handle.seek(0)
# Do more stuff with reader as it is back at the beginning now

Это должно работать, поскольку csv.reader работает с тем же.

10
ответ дан Evan Fosmark 25 August 2018 в 20:36
поделиться
  • 1
    хотя файл file_handle.seek (0) действительно работает, счетчик reader.line_num не получает сброс, поэтому, если вы хотите использовать его позже, тогда у вас будут проблемы. вы можете, конечно, повторить «reader = csv.reader (file_handle)» после поиска (0), но это не работает должным образом, если вы используете его внутри внешнего цикла «для строки в читателе:» как «reader.line_num» 'не увеличивается. Если вы замените цикл for на некоторое время, это исправляет эту проблему, но не совсем уверен, что вы делаете, чтобы привести в порядок конец файла в последнем чтении. – jacanterbury 29 May 2013 в 16:16
Другие вопросы по тегам:

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