Python: чтение CSV-файла с разными шифрами, но с обходом первых нескольких строк

У меня есть файл CSV, в котором первые 8 строк объясняют файл, а данные начинаются с 10-й строки. Сначала я попробовал пропустить данные, однако при чтении файла возникли ошибки:

Я включил имена=диапазон(20), потому что ожидался меньший диапазон.

import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
import os # Check path
import csv
import glob

# Check path
current_path = os.getcwd()
print(current_path)
data = pd.read_csv('Events.csv', encoding = "utf-8", names = range (20))

Выход: Вывод был «s» для строки 1, столбец 1, и «NaN» для остальной части кадра данных, поскольку «utf-8» — это кодировка верхней части, а «cp1252» — это кодировка самих данных.

0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 0 с NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN 1 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN 2 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN 3 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN 4 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN

Когда я открываю файл csv и удаляю первые несколько строк, я могу прочитать файл. Я не хочу открывать файл и удалять первые несколько строк, чтобы этот код работал, так как я хочу, чтобы этот код работал для аналогичных CSV-файлов, которые я ему предоставляю (файл меняется в зависимости от времени, когда он хранит события) .

Есть ли способ пройти первые несколько строк и просмотреть мои данные?

Вы уверены, что ваш файл имеет две формы кодировки? Возможно, аргумент ключевого слова Skiprows для pd.read_csv() поможет.

SIGHUP 26.06.2024 18:13
pd.read_csv('Events.csv', encoding = "utf-8", skiprows=8)
James 26.06.2024 18:14

Вы бы получили ошибку, а не NaN, если бы кодировка была отключена, я почти уверен.

juanpa.arrivillaga 26.06.2024 18:56

Я проверил кодировку: # Проверьте кодировку с помощью open('Events.csv') as f: print(f). Он дал мне одну кодировку: «cp1252», но я все еще получаю значения «NaN».

Michelle Bogush 27.06.2024 22:30

@MichelleBogush Судя по вашему комментарию в ответ на ответ Андреса, возможно, вам следует закрыть это

SIGHUP 28.06.2024 07:49
Почему в Python есть оператор "pass"?
Почему в Python есть оператор "pass"?
Оператор pass в Python - это простая концепция, которую могут быстро освоить даже новички без опыта программирования.
Некоторые методы, о которых вы не знали, что они существуют в Python
Некоторые методы, о которых вы не знали, что они существуют в Python
Python - самый известный и самый простой в изучении язык в наши дни. Имея широкий спектр применения в области машинного обучения, Data Science,...
Основы Python Часть I
Основы Python Часть I
Вы когда-нибудь задумывались, почему в программах на Python вы видите приведенный ниже код?
LeetCode - 1579. Удаление максимального числа ребер для сохранения полной проходимости графа
LeetCode - 1579. Удаление максимального числа ребер для сохранения полной проходимости графа
Алиса и Боб имеют неориентированный граф из n узлов и трех типов ребер:
Оптимизация кода с помощью тернарного оператора Python
Оптимизация кода с помощью тернарного оператора Python
И последнее, что мы хотели бы показать вам, прежде чем двигаться дальше, это
Советы по эффективной веб-разработке с помощью Python
Советы по эффективной веб-разработке с помощью Python
Как веб-разработчик, Python может стать мощным инструментом для создания эффективных и масштабируемых веб-приложений.
0
5
58
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Пытаться

data = pd.read_csv('Events.csv', encoding = "utf-8", skiprows=10)

Пропуск строк не помогает, поскольку я считаю, что он не понимает, как просматриваются данные. Он выдает следующее: Безымянный: 0 0 NaN 1 NaN 2 NaN 3 NaN 4 NaN

Michelle Bogush 27.06.2024 22:39

Я думаю, что проблема не в кодировке, а в данных в первых нескольких строках, которые не имеют одинакового количества столбцов. Я начну новую тему.

Michelle Bogush 28.06.2024 00:21

Другие вопросы по теме