目標:
- 從 a 中讀取股票價格資料
.csv file - 重新采樣
- 最后將輸出列印到一個新的
.csv file,其中所有列都以逗號分隔。
問題:
目前,該程式可以 1) 讀取資料并 2) 對其重新采樣,但是在列印到輸出.csv時沒有逗號分隔符。此外,列標題不會列印在相同的第一行。
輸入資料樣本:
*感興趣的列:第一列(日期/時間)、第二列(買入價)和第四列(賣出價)。
20210602 22:02:00,3.07,50,3.086,50
20210602 22:03:00,3.07,50,3.087,50
20210602 22:04:00,3.071,50,3.087,50
20210602 22:04:00,3.071,50,3.088,50
20210602 22:05:00,3.07,50,3.088,50
20210602 22:05:00,3.07,50,3.087,50
20210602 22:06:00,3.071,50,3.087,50
電流輸出:
open high low close
Date_time
2021-06-02 22:02:00 3.0790 3.0790 3.0780 3.0780
2021-06-02 22:03:00 3.0785 3.0785 3.0785 3.0785
2021-06-02 22:04:00 3.0790 3.0795 3.0790 3.0795
2021-06-02 22:05:00 3.0790 3.0790 3.0785 3.0785
2021-06-02 22:06:00 3.0790 3.0790 3.0790 3.0790
預期輸出:
Date_time,open,high,low,close
2021-06-02 22:02:00,3.0790,3.0790,3.0780,3.0780
2021-06-02 22:03:00,3.0785,3.0785,3.0785,3.0785
2021-06-02 22:04:00,3.0790,3.0795,3.0790,3.0795
2021-06-02 22:05:00,3.0790,3.0790,3.0785,3.0785
2021-06-02 22:06:00,3.0790,3.0790,3.0790,3.0790
程式嘗試:
import pandas as pd
import sys
data_frame = pd.read_csv('03-06-21-xngusd.csv',
names=['Date_time', 'Bid', 'Bid qty',
'Ask', 'Ask qty'],
index_col=0, parse_dates=True)
data_frame.head()
# Resample the data into 1 minute increments
data_ask = data_frame['Ask'].resample('1MIN').ohlc()
data_bid = data_frame['Bid'].resample('1MIN').ohlc()
data_mid = (data_ask data_bid) / 2
data_mid.head()
# Print the new resample data to a .csv file
original_stdout = sys.stdout # Save reference to original standard output
with open('filename.csv', 'w') as f:
sys.stdout = f
print(data_mid)
sys.stdout = original_stdout
還嘗試了以下代碼,它只列印了第一行并且還錯過了顯示輸出的第一列標題open, high, low, close:
with open('filename.csv', 'w') as writeFile:
writer = csv.writer(writeFile, delimiter=',')
writer.writerow(data_mid)
Q1。如何修改程式以確保輸出列是comma delimited?
Q2。如何將列標題列印到檔案頂部的同一行?
uj5u.com熱心網友回復:
你可以用data_frame.to_csv()這個。在這里閱讀。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qianduan/455920.html
