Как сохранить CSV-файл в определенную папку?

1

Я хочу прочитать каждую главу каждого столбца (A = 77.34, B = 78.28, C = 85.44 и D = 92.46 в этом случае) и сохранить DataFrame. Если все эти главы больше 65, сохраните файл csv в определенной папке (Высокий). Если значение не более 55, сохраните как csv в определенной папке (Low). Я не вижу никакого файла csv в папке (высокий в этом случае), и я не понимаю, где моя проблема. Я использую Python27.

Моя программа:

import pandas as pd
import numpy as np
import os
import csv

df = pd.DataFrame({'A': [77.34, 44.09, 44.15, 43.61],
                   'B': [78.28, 46.28, 46.00, 46.03],
                   'C': [85.44, 41.89, 42.15, 42.65],
                   'D': [92.46, 42.22, 42.55, 42.02]
                  }, index=pd.Index(range(4), name='idx'))

X1=df.iloc[0,0]
X2=df.iloc[0,1]
X3=df.iloc[0,2]
X4=df.iloc[0,3]

def Rho (df): 
    if  (X1>65 and X2>65 and X3>65 and X4>65):
        df.to_csv('High.csv')
        path = 'D:\My_Path\High'
        extension = 'csv'
        os.chdir(path)
    elif (X1<55 and X2<55 and X3<55 and X4<55):
        df.to_csv('Low.csv')
        path = 'D:\My_Path\Low'
        extension = 'csv'
        os.chdir(path)        
    else:
        print("Ignore")       
Rho (df) 
  • 0
    Вам нужно не менять путь текущего рабочего каталога. df.to_csv(os.path.join(dir,file_name))
  • 0
    @ Thunderwood, нет, программа не печатает "Игнорировать".
Теги:
pandas
python-2.7

1 ответ

4
Лучший ответ

Вы используете to_csv неправильно. Вы можете передать ему полный путь, включая каталог, имя файла и расширение с аргументом path. Вам также не нужно менять текущий os.chdir(path) с помощью os.chdir(path).

См. Документы.

...

def Rho (df): 
    if  (X1>65 and X2>65 and X3>65 and X4>65):
        df.to_csv(path='D:\My_Path\High.csv')
    elif (X1<55 and X2<55 and X3<55 and X4<55):
        df.to_csv(path='D:\My_Path\Low.csv')        
    else:
        print("Ignore")       
...

Ещё вопросы

Сообщество Overcoder
Наверх
Меню