Вопрос по python – Панды, читающие CSV ориентации

7

Привет, я пытаюсь прочитать в пандах CSV-файл, который вы можетескачать отсюда (Оцените euribor, я думаю, вы можете представить причину, по которой я хотел бы получить этот файл!). Файл является файлом CSV, но он как-то странно ориентирован. Если вы импортируете его в Excel, файл имеет формат

<code>   02/01/2012,03/01/2012,04/01/2012,,,, 
1w 0.652,0.626,0.606,,,,
2w,0.738,0.716,0.700,,,,
</code>

действовать с первого столбца до 12 м (но я дал вам ссылку, где вы можете скачать образец). Я хотел бы прочитать это в пандах, но я не могу прочитать это правильно. Pandas имеет встроенную функцию для чтения CSV-файлов, но почему-то ожидается, что она будет ориентирована на строки, а не на столбцы. Я хотел бы получить информацию о строке, помеченной 3m и имеющей значения и дату, чтобы построить график изменения этого индекса во времени. Но я не могу справиться с этой проблемой. Я знаю, что могу читать данные с

<code>import pandas 
data = pandas.io.read_csv("file.csv",parse_dates=True) 
</code>

но это будет работать, если файл CSV будет каким-то образом транспонировать. ЧАС

Ваш Ответ

2   ответа
0

андартные функции Python lib csv, так как они используют итераторы.

import csv
myCSVfile=r"c:/Documents and Settings/Jason/Desktop/hist_EURIBOR_2012.csv"
f=open(myCSVfile,"r")
reader=csv.reader(f,delimiter=',')
data=[]
for l in reader:
    if l[0].strip()=="3m":
        data.append(l)

f.close()
Error: User Rate Limit Exceeded
5

.transpose() метод, но ему не нравятся все пустые строки в этом файле. Вот как его почистить:

df = pandas.read_csv("hist_EURIBOR_2012.csv")  # Read the file
df = df[:15]    # Chop off the empty rows beyond 12m
df2 = df.transpose()
df2 = df2[:88]  # Chop off what were empty columns (I guess you should increase 88 as more data is added.

Конечно, вы можете связать их вместе:

df2 = pandas.read_csv("hist_EURIBOR_2012.csv")[:15].transpose()[:88]

затемdf2['3m'] это данные, которые вы хотите, но даты по-прежнему хранятся в виде строк. Я не совсем уверен, как преобразовать его вDateIndex.

Error: User Rate Limit Exceeded Nicola Vianello
Error: User Rate Limit Exceeded
Error: User Rate Limit Exceededskip_blank_lines : boolean, default TrueError: User Rate Limit Exceeded

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