[英]Python: need to create a new column when merging multiple csv files
提前感謝您的幫助。 多部分問題
我有包含多個股票定價信息的 zip 文件。 當前格式是標題行是:
ticker,date,open,high,low,close,vol
第一行的例子是
AAPL,201906030900,176.32,176.32,176.24,176.29,2247
所需格式:
標題
ticker,date,time,open,high,low,close,vol
和數據
AAPL,20190603,09:00,176.32,176.32,176.24,176.29,2247
其中添加了時間列,並用日期行的最后 4 位數字填充該列,中間有一個冒號,最后 4 位數字從日期數據列中刪除。
每個文件中每只股票大約有 400 行數據,因此每一行都需要轉換。
我無法在這里或網絡上的其他地方找到我能理解如何完成我想要做的事情的答案。
嘗試以下操作,使用pandas
:
數據.csv
ticker,date,open,high,low,close,vol
AAPL,201906030900,176.32,176.32,176.24,176.29,2247
ABCD,202002211000,220.97,217.38,221.43,219.82,8544
代碼
import pandas as pd
df = pd.read_csv('data.csv')
# print(df)
df['time'] = df['date'].apply(lambda x: f'{str(x)[-4:-2]}:{str(x)[-2:]}')
df['date'] = df['date'].apply(lambda x: str(x)[:-4])
cols = df.columns.to_list()
cols = cols[:2] + cols[-1:] + cols[2:-1]
df = df[cols]
# print(df)
df.to_csv('out.csv', index=False)
輸出.csv
ticker,date,time,open,high,low,close,vol
AAPL,20190603,09:00,176.32,176.32,176.24,176.29,2247
ABCD,20200221,10:00,220.97,217.38,221.43,219.82,8544
您可以使用相同的代碼循環多個文件。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.