作者davidwales (cluster)
看板Python
標題[問題] 請問讀取大量資料如何重整資料在輸出?
時間Mon May 18 14:48:21 2020
我有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://webptt.com/m.aspx?n=bbs/Python/M.1589784503.A.23F.html
※ 編輯: davidwales (219.74.195.140 新加坡), 05/18/2020 14:54:08
1F:推 TitanEric: 在讀不同城市同一時間時 可以在read_csv中指定use_co 05/18 16:24
2F:→ TitanEric: ls省空間 05/18 16:24
3F:→ davidwales: 感謝1F 05/18 22:05
4F:→ davidwales: 各位好,我有寫出code也成功執行了 感謝各位 05/19 10:54
5F:→ davidwales: 有需要的煩請推文告知,我再轉po我寫的code到版上 05/19 10:55
6F:→ TitanEric: 恭喜 05/19 15:12
7F:推 rounders: 可以要code參考嗎 剛學想多看一些寫法應用,謝 05/21 12:36
8F:→ 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