2017-01-22 3 views
0

Я пытаюсь изучить Python и начал с этой задачи попытки импортировать определенные файлы csv в заданной папке в тип данных Python и затем обрабатывать данные. Я борюсь с частью, где данные должны быть импортированы в Python. Мне нужно, чтобы это было эффективно. Я попробовал пару вещей и попытался сделать несколько подходов на основе предложений, представленных на форумах и других веб-страницах, - все они приводят к одной проблеме. Если кто-то может помочь в решении этой проблемы, нам будет очень благодарна помощь.Эффективно Читайте пользовательские файлы CSV в Python

Примечание: Я уже ввезли панд в э.р.

подход 1:

DF = pd.read_csv(FilePath) 

Это дает следующее сообщение об ошибке:

Error tokenizing data. C error: Expected 1 fields in line 13, saw 2

подход 2:

DF = pd.read_csv(FilPath, skiprows=3) 

Это также дает ту же ошибку:

Error tokenizing data. C error: Expected 1 fields in line 13, saw 2

подход 3:

data = pd.read_csv(FilePath, error_bad_lines=False) 

Это пропускает каждую строку и считывает один символ в каждой строке. Это затрудняет обработку данных.

https://dl.dropboxusercontent.com/u/32778128/Test.csv

Если кто имеет какие-либо предложения, чтобы решить эту проблему, я бы очень признателен за помощь.

Лучшие U

+0

'pandas' - это путь. Это лучше подходит для организации ваших данных. и для пропуска строк. Другой вариант с 'csv' состоит в том, чтобы дважды пропустить считыватель, чтобы пропустить или назначить заголовки.Некоторые примечания: используйте блок 'with' для безопасного открытия и закрытия файлов, и это означает, что переменные являются строчными. – pylang

ответ

1

Когда вы говорите «DataFrame», что вы должны использовать это библиотека панды. Pandas дает вам Pandas DataFrame, где вы можете легко манипулировать импортированными файлами csv и начинать манипулировать данными. Вы должны специально изучить функцию pandas.read_csv. Он будет делать то, что вы просите, и многое другое. Посмотрите на аргумент «skiprows», если вам нужно фильтровать по строке.

Вы можете получить объект DataFrame, выполнив следующие действия:

import pandas 

df = pandas.read_csv('boing.csv') # Creates dataframe from specified CSV file 

Если вам нужно больше, чем тогда вы можете обратиться к документации, связанной выше, pandas.read_csv занимает слишком много аргументов, чтобы перечислить здесь. Надеюсь, это поможет.

Пример с skiprows:

df = pandas.read_csv('boing.csv', skiprows=2) 

Это даст вам DataFrame Пропустив первые две строки файла CSV. Вы можете изменить 2 на любое количество заголовков, которые у вас есть. При использовании skiprows убедитесь, что вы не пропускаете строку, которая отражает фактические данные в файле.

+0

Извинения за не уточнение в моем вопросе. Я тоже пробовал этот метод. Вышеописанный способ как это реализовано в моем случае выглядит следующим образом импорт панд как П.Д. DF = pd.read_csv (FilePath, SkipRows = 3) Это дает следующее сообщение об ошибке - tokenizing Ошибки данных. C: Ожидаемые 1 поля в строке 13, пила 2 При поиске исправления этой ошибки я оказался здесь. data = pd.read_csv ('file1.csv', error_bad_lines = False) Это верно считывает данные, но читает один символ в строке – UGuntupalli

+0

Я добавил предложение в конце своего ответа с еще одной деталью о 'skiprows'. Я надеюсь, что это помогает. –

+0

Использование skiprows к сожалению не помогает. @large_medium_pizza. – UGuntupalli

Смежные вопросы