pd.read_csv неправильно обрабатывает - PullRequest
0 голосов
/ 14 сентября 2018

У меня есть CSV-файл, который выглядит следующим образом:

Date,Time,Mood,Tags,Medications,Notes
"Jul 25, 2018",9:41 PM,8,,,"",
"Jul 26, 2018",10:05 AM,4,,,"",
"Jul 26, 2018",12:00 PM,3,,,"",
"Jul 26, 2018",7:00 PM,8,,,"",
"Jul 27, 2018",12:01 PM,8,,,"",

Я запускаю следующий код:

import pandas as pd

df = pd.read_csv("./data/MoodLog_2018_09_14.csv", 
                 dtype={'Date': str, 'Time': str, 'Mood': str, 'Tags': str, 
                        'Medications': str, 'Notes': str})

print(df['Time'].head(5))

и печатает следующее:

Jul 25, 2018    8
Jul 26, 2018    4
Jul 26, 2018    3
Jul 26, 2018    8
Jul 27, 2018    8
Name: Time, dtype: object

Включает столбец Mood в столбце Time.

Почему это?

1 Ответ

0 голосов
/ 14 сентября 2018

Проблема в том, что у ваших строк есть конечный ,, а в заголовке - нет. Измените заголовок на: Date,Time,Mood,Tags,Medications,Notes,, и вы получите дополнительный столбец, который затем можете опустить.

Ввод: test.csv

Date,Time,Mood,Tags,Medications,Notes,
"Jul 25, 2018",9:41 PM,8,,,"",
"Jul 26, 2018",10:05 AM,4,,,"",
"Jul 26, 2018",12:00 PM,3,,,"",
"Jul 26, 2018",7:00 PM,8,,,"",
"Jul 27, 2018",12:01 PM,8,,,"",

Код:

df = pd.read_csv("test.csv", 
                 dtype={'Date': str, 'Time': str, 'Mood': str, 'Tags': str, 
                        'Medications': str, 'Notes': str}).iloc[:, :-1]

Выход: df

           Date      Time Mood Tags Medications Notes
0  Jul 25, 2018   9:41 PM    8  NaN         NaN   NaN
1  Jul 26, 2018  10:05 AM    4  NaN         NaN   NaN
2  Jul 26, 2018  12:00 PM    3  NaN         NaN   NaN
3  Jul 26, 2018   7:00 PM    8  NaN         NaN   NaN
4  Jul 27, 2018  12:01 PM    8  NaN         NaN   NaN
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...