看板 Python 關於我們 聯絡資訊
我有370各不同的城市資料CSV 檔案 每個城市CSV的資料結構如下 ex: 城市A.csv 城市來源 20200101 20200102 20200103 ....................20200229 城市A 數值 數值 城市B 城市C . . . 城市370 假設我要讀取所有的城市資料CSV 再把他們按照不同日期輸出成不同日期的CSV 每個日期CSV檔案內容為 ex: 20200101.csv 城市A 城市B 城市C 城市370 城市A 城市B 數值 數值 城市C 數值 . . . . . . 城市370 .. . 請問要怎麼用pandas做到這些功能 萬分感謝!!! -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 219.74.195.140 (新加坡) ※ 文章網址: https://www.ptt.cc/bbs/Python/M.1589784503.A.23F.html ※ 編輯: davidwales (219.74.195.140 新加坡), 05/18/2020 14:54:08
TitanEric: 在讀不同城市同一時間時 可以在read_csv中指定use_co 05/18 16:24
TitanEric: ls省空間 05/18 16:24
davidwales: 感謝1F 05/18 22:05
davidwales: 各位好,我有寫出code也成功執行了 感謝各位 05/19 10:54
davidwales: 有需要的煩請推文告知,我再轉po我寫的code到版上 05/19 10:55
TitanEric: 恭喜 05/19 15:12
rounders: 可以要code參考嗎 剛學想多看一些寫法應用,謝 05/21 12:36
davidwales: 晚點給上! 05/21 14:38
from pandas import DataFrame, read_csv import matplotlib.pyplot as plt import pandas as pd f = open("test.txt",encoding='UTF-8') # 城市列表 lines = f.read().splitlines() df2 = pd.read_excel('城市 XX指數.xlsx') first_column = df2.columns[1] df2 = df2.set_index([first_column]) df2 = df2.iloc[0:] with open('test.txt', encoding='UTF-8') as f: for content in f: str = content.strip() file =str + r'来源地.xls' #所有370個城市的xls檔案 df1 = pd.read_excel(file) print(str) #將城市名稱列印到螢幕 k=df2.loc[str, 20200215] #選定哪個日期 df = pd.concat([df,k*df1[20200215].rename(str)],axis=1) df.to_excel("20200215.xlsx") #輸出到xlsx #20200215可以改成任何的日期,或是在寫個迴圈去跑期間所有日期 將程式貼到jupyter notebook就可以運行 ※ 編輯: davidwales (219.74.195.140 新加坡), 05/22/2020 11:39:16