作者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/cn.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