批量拼接两个文件夹中的多个文件,按纬度_经度方式命名输出文件

代码描述:两个文件夹中分别存放有75个csv文件,两个文件夹里的每个文件都是列数相同,行数不同,将两个文件夹对应编号的两个csv文件上下拼接起来,按照这样的方法最终输出75个文件。输出文件的格式有要求,为纬度_经度,均需保留四位小数。 纬度和经度需要读取另外一个文件夹中的一个csv文件的第1列和第2列。

需要注意的是,这样输出的文件里面会将经纬度也添加到文件里面,如果不需要的话,还需要批量删除那两列。

import os
import pandas as pd

# 需要拼接的文件夹的路径
folder1 = r'G:\graduate_data\merged_output_2015'
folder2 = r'G:\graduate_data\merged_output_2016'

output_folder = r'G:\graduate_data\output'
os.makedirs(output_folder, exist_ok=True)

# 经度和纬度信息
reference_file_path = 'G:/graduate_data/grid.csv'
reference_data = pd.read_csv(reference_file_path, header=None, nrows=75)
latitudes = reference_data.iloc[:, 1]  
longitudes = reference_data.iloc[:, 2]  
# 遍历文件夹每个文件
for i in range(0, 75):  # 文件夹中有75个文件
    file1 = os.path.join(folder1, f'merged_output_{i}.csv')
    file2 = os.path.join(folder2, f'merged_output_{i}.csv')

    data1 = pd.read_csv(file1, header=None)
    data2 = pd.read_csv(file2, header=None)
  
    # 拼接
    merged_data = pd.concat([data1, data2], axis=0)

    expanded_data = pd.concat([merged_data] * 2, axis=1)

    expanded_data['Latitude'] = latitudes[i]
    expanded_data['Longitude'] = longitudes[i]

    # 合并数据保存为 CSV ,文件名data_纬度_经度
    output_file = os.path.join(output_folder, f'data_{latitudes[i]:.4f}_{longitudes[i]:.4f}.csv')
    expanded_data.to_csv(output_file, index=False, header=False)

​

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值