赞
踩
目录
自己在做项目的时候,有两个Excel表格——一个是对日期去重了的Excel(365行),一个是原始的每天好几条数据的Excel
想把前一个Excel按照后一个Excel的天数对应着进行扩充
自己搜到了一篇文章,挺有帮助的,不过这篇文章是对每一条数据进行等量的复制。
为了将其进行一般性的推广,写了一个计数的函数,总体代码如下。
- import pandas as pd
- import numpy as np
-
- def countX(lst, x):
- count = 0
- for ele in lst:
- if (ele == x):
- count = count + 1
- return count
-
- # date_1, date_2是2个Excel文件对应的日期列,用pandas读入
- cur_dir = '\\'.join(os.path.abspath(inspect.getsourcefile(lambda:0)).split('\\')[:-1])
-
- data_path_1 = os.path.join(cur_dir, 'xxx.xlsx') # 获取json文件路径
- df_1 = pd.read_excel(data_path_1, encoding='gbk')
- date_1 = df_1[['日期']].values.tolist()
-
- data_path_2 = os.path.join(cur_dir, 'yyy.xlsx') # 获取json文件路径
- df_2 = pd.read_excel(data_path_2, encoding='gbk')
- date_2 = df_2[['日期']].values.tolist()
-
- # 复制
-
- pd2 = pd.DataFrame()
- for i in range(len(df_2)):
- count = countX(date_1, date_2[i])
- if count == 0:
- print(i)
- continue
- else:
- a = df_2.loc[i]
- d = pd.DataFrame(a).T
- pd2 = pd2.append([d] * count)
-
-
- pd2.to_csv('zzz.csv', index=False, encoding='gbk')
关于读取文件地址or获取文件路径,可以参照读取文件地址or路径。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。