处理气象数据——12

import os
import pandas as pd

# 设置文件夹路径
folder_path = r'D:\qixiangshuju\西北降水_气温数据\新疆'

# 获取文件夹中所有的.xls文件
files = [file for file in os.listdir(folder_path) if file.endswith('.xls')]

# 循环处理每个文件
for file in files:
    file_path = os.path.join(folder_path, file)
    # 读取Excel文件
    df = pd.read_excel(file_path)
    # 修改列名
    df.rename(columns={'20-20时累计降水量(0.1mm)': '20-20时累计降水量(mm)', '平均气温(0.1℃)': '平均气温(℃)'}, inplace=True)
    # 保存修改后的数据到同一文件,指定使用openpyxl引擎
    combined_file_path = os.path.join(folder_path, 'modified_' + file)
    df.to_excel(combined_file_path, index=False, engine='openpyxl')

这段代码是用Python来处理Excel文件的脚本。让我来逐步解析并说明每一部分的功能:

1. `import os`: 这行导入了Python标准库中的`os`模块,用于处理操作系统相关的功能,比如文件路径操作等。

2. `import pandas as pd`: 这行导入了`pandas`库,并使用`pd`作为别名。`pandas`是Python中用于数据分析和处理的强大库。

3. `folder_path = r'D:\qixiangshuju\西北降水_气温数据\新疆'`: 这行定义了一个文件夹路径,其中存放了待处理的Excel文件。路径前的`r`表示原始字符串,避免了在Windows路径中反斜杠`\`被转义的问题。

4. `files = [file for file in os.listdir(folder_path) if file.endswith('.xls')]`: 这行通过列表推导式,获取了文件夹中所有以`.xls`为扩展名的文件名列表。`os.listdir()`函数用于返回指定目录下的所有文件和文件夹的名称。

5. `for file in files:`: 这是一个`for`循环,遍历了每个在文件列表`files`中的文件名。

6. `file_path = os.path.join(folder_path, file)`: 这行使用`os.path.join()`函数将文件夹路径和文件名拼接起来,形成完整的文件路径。

7. `df = pd.read_excel(file_path)`: 这行使用`pandas`库的`read_excel()`函数读取了Excel文件,将其转换成DataFrame格式,并赋值给变量`df`。DataFrame是pandas中用于处理表格数据的主要数据结构。

8. `df.rename(columns={'20-20时累计降水量(0.1mm)': '20-20时累计降水量(mm)', '平均气温(0.1℃)': '平均气温(℃)'}, inplace=True)`: 这行使用`rename()`函数修改了DataFrame中列名,将'20-20时累计降水量(0.1mm)'改为'20-20时累计降水量(mm)',将'平均气温(0.1℃)'改为'平均气温(℃)'。`inplace=True`表示在原DataFrame上直接进行修改,而不是返回一个新的DataFrame。

9. `combined_file_path = os.path.join(folder_path, 'modified_' + file)`: 这行生成了一个新的文件路径,用于保存修改后的Excel文件。在原文件名前加上了`modified_`前缀。

10. `df.to_excel(combined_file_path, index=False, engine='openpyxl')`: 这行使用`to_excel()`函数将DataFrame保存为Excel文件。`index=False`表示不保存行索引,`engine='openpyxl'`指定了使用openpyxl引擎,这是一种用于处理Excel文件的库。保存的文件路径为前面生成的`combined_file_path`。

示例用法:
假设在`D:\qixiangshuju\西北降水_气温数据\新疆`文件夹下有两个Excel文件:`data1.xls`和`data2.xls`。这两个文件包含有关新疆气候数据的表格信息,其中包括降水量和气温等数据。

执行上述代码后,脚本将会按照指定的规则修改文件中的列名,并在原文件名前添加`modified_`前缀,然后保存到同一文件夹下。例如,`data1.xls`将被修改后的数据保存为`modified_data1.xls`,`data2.xls`将被修改后的数据保存为`modified_data2.xls`。

import os
import pandas as pd

# 设置文件夹路径
folder_path = r'D:\qixiangshuju\西北降水_气温数据\新疆'

# 获取文件夹中所有的.xls文件
files = [file for file in os.listdir(folder_path) if file.endswith('.xls')]

# 循环处理每个文件
for file in files:
    file_path = os.path.join(folder_path, file)
    # 读取Excel文件
    df = pd.read_excel(file_path)
    # 修改列名
    df.rename(columns={'20-20时累计降水量(0.1mm)': '20-20时累计降水量(mm)', '平均气温(0.1℃)': '平均气温(℃)'}, inplace=True)
    # 保存修改后的数据到同一文件,指定使用openpyxl引擎
    combined_file_path = os.path.join(folder_path, 'modified_' + file)
    df.to_excel(combined_file_path, index=False, engine='openpyxl')
 

  • 4
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

___Y1

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值