в своем коде.

могу пропустить строку заголовка и начать чтение файла из строки 2?

Ответы на вопрос(7)

абельность, я бы использовал метод извлечения. Предположим, вы хотите разметить первые три строкиcoordinates.txt использовать в качестве информации заголовка.

пример

coordinates.txt
---------------
Name,Longitude,Latitude,Elevation, Comments
String, Decimal Deg., Decimal Deg., Meters, String
Euler's Town,7.58857,47.559537,0, "Blah"
Faneuil Hall,-71.054773,42.360217,0
Yellowstone National Park,-110.588455,44.427963,0

Тогда метод извлечения позволяет указатьчто вы хотите сделать с информацией заголовка (в этом примере мы просто токенизируем строки заголовка, основанные на запятой и возвращаем их как список, но есть место, чтобы сделать намного больше).

def __readheader(filehandle, numberheaderlines=1):
    """Reads the specified number of lines and returns the comma-delimited 
    strings on each line as a list"""
    for _ in range(numberheaderlines):
        yield map(str.strip, filehandle.readline().strip().split(','))

with open('coordinates.txt', 'r') as rh:
    # Single header line
    #print next(__readheader(rh))

    # Multiple header lines
    for headerline in __readheader(rh, numberheaderlines=2):
        print headerline  # Or do other stuff with headerline tokens

Выход

['Name', 'Longitude', 'Latitude', 'Elevation', 'Comments']
['String', 'Decimal Deg.', 'Decimal Deg.', 'Meters', 'String']

Еслиcoordinates.txt содержит другой заголовок, просто изменитеnumberheaderlines, Лучше всего понятно, что__readheader(rh, numberheaderlines=2) делает, и мы избегаем двусмысленности необходимости выяснить или прокомментировать, почему автор принятого ответа используетnext() в своем коде.

f = open(fname).readlines()
firstLine = f.pop(0) #removes the first line
for line in f:
    ...
 Hayden Schiff04 дек. 2018 г., 04:56
Это приведет к одновременному считыванию всего файла в память, поэтому практично, если вы читаете довольно маленький файл.

Если нарезка может работать на итераторах ...

from itertools import islice
with open(fname) as f:
    for line in islice(f, 1, None):
        pass
 Dai05 февр. 2018 г., 18:30
Это действительно хороший и питонный способ решения проблемы, который может быть расширен до произвольного числа строк заголовка.
 Russ Hyde13 февр. 2019 г., 15:36
Прекрасное решение
 Diesel08 мая 2018 г., 14:30
Это действительно хорошее исполнение!
# Open a connection to the file
with open('world_dev_ind.csv') as file:

    # Skip the column names
    file.readline()

    # Initialize an empty dictionary: counts_dict
    counts_dict = {}

    # Process only the first 1000 rows
    for j in range(0, 1000):

        # Split the current line into a list: line
        line = file.readline().split(',')

        # Get the value for the first column: first_col
        first_col = line[0]

        # If the column value is in the dict, increment its value
        if first_col in counts_dict.keys():
            counts_dict[first_col] += 1

        # Else, add to the dict and set value to 1
        else:
            counts_dict[first_col] = 1

# Print the resulting dictionary
print(counts_dict)

а затем вы хотите выполнить некоторую операцию с файлом, этот код будет полезен.

with open(filename , 'r') as f:
    first_line = f.readline()
    for line in f:
            # Perform some operations
Решение Вопроса
with open(fname) as f:
    next(f)
    for line in f:
        #do something
 Samuel07 янв. 2015 г., 00:41
Или использоватьheader_line = next(f).
 damned08 окт. 2013 г., 07:38
если вам нужен заголовок позже, а неnext(f) использованиеf.readline() и сохранить его как переменную
f = open(fname,'r')
lines = f.readlines()[1:]
f.close()
 Indrajeet Gour28 июн. 2016 г., 13:38
сколько строк это пропустит
 Daniel Soutar26 янв. 2018 г., 00:20
@LjubisaLivac прав - этот ответ обобщает любую строку, так что это гораздо более мощное решение.
 Ljubisa Livac21 февр. 2017 г., 22:00
это должен быть правильный ответ
 Eric Duminil18 янв. 2017 г., 22:42
Это пропустит 1 строку.['a', 'b', 'c'][1:] =>['b', 'c']
 CppLearner05 февр. 2018 г., 03:05
Это нормально, пока файл слишком велик для чтения. Это хорошо для небольших файлов.

Ваш ответ на вопрос