adding metasupertrend data WIP
This commit is contained in:
48
utils/converty_csv_to_day.py
Normal file
48
utils/converty_csv_to_day.py
Normal file
@@ -0,0 +1,48 @@
|
||||
import pandas as pd
|
||||
from datetime import datetime
|
||||
|
||||
def aggregate_to_daily(input_csv, output_csv):
|
||||
"""
|
||||
Load a CSV file with Bitcoin price data, aggregate to daily values, and save to a new CSV.
|
||||
|
||||
Args:
|
||||
input_csv (str): Path to the input CSV file
|
||||
output_csv (str): Path to save the output CSV file
|
||||
"""
|
||||
try:
|
||||
# Read the CSV file
|
||||
print(f"Loading data from {input_csv}...")
|
||||
df = pd.read_csv(input_csv)
|
||||
|
||||
# Convert timestamp to datetime
|
||||
df['Timestamp'] = pd.to_datetime(df['Timestamp'], unit='s')
|
||||
df.set_index('Timestamp', inplace=True)
|
||||
|
||||
# Aggregate to daily values
|
||||
print("Aggregating data to daily values...")
|
||||
daily_df = df.resample('D').agg({
|
||||
'Open': 'first',
|
||||
'High': 'max',
|
||||
'Low': 'min',
|
||||
'Close': 'last',
|
||||
'Volume': 'sum'
|
||||
})
|
||||
|
||||
# Reset index to make Timestamp a column
|
||||
daily_df.reset_index(inplace=True)
|
||||
|
||||
# Save to new CSV
|
||||
print(f"Saving daily data to {output_csv}...")
|
||||
daily_df.to_csv(output_csv, index=False)
|
||||
|
||||
print(f"Successfully processed {len(df)} records into {len(daily_df)} daily records")
|
||||
|
||||
except Exception as e:
|
||||
print(f"Error processing data: {str(e)}")
|
||||
|
||||
if __name__ == "__main__":
|
||||
# Example usage
|
||||
input_file = "../data/btcusd_1-min_data.csv" # Update this path to your input file
|
||||
output_file = "../data/btcusd_daily_data.csv" # Update this path to your desired output file
|
||||
|
||||
aggregate_to_daily(input_file, output_file)
|
||||
Reference in New Issue
Block a user