[問題] 請問讀取大量資料如何重整資料在輸出?
我有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
推
05/18 16:24,
4年前
, 1F
05/18 16:24, 1F
→
05/18 16:24,
4年前
, 2F
05/18 16:24, 2F
→
05/18 22:05,
4年前
, 3F
05/18 22:05, 3F
→
05/19 10:54,
4年前
, 4F
05/19 10:54, 4F
→
05/19 10:55,
4年前
, 5F
05/19 10:55, 5F
→
05/19 15:12,
4年前
, 6F
05/19 15:12, 6F
推
05/21 12:36,
4年前
, 7F
05/21 12:36, 7F
→
05/21 14:38,
4年前
, 8F
05/21 14:38, 8F
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
Python 近期熱門文章
PTT數位生活區 即時熱門文章