|
发表于 2023-7-20 15:11:39
|
显示全部楼层
您可以在调用 pd.read_csv 方法时传入 names 参数,这将设置 DataFrame 的列名。代码修改如下:
- import os
- import pandas as pd
- # 读取三省站点.xlsx文件
- df_stations = pd.read_excel('站点.xlsx', usecols=['站号'])
- # 获取福建省的所有区站号
- fujian_stations = set(df_stations['站号'].dropna().astype(int))
- # 遍历MON文件夹下的所有福建省文件
- mon_folder = 'MON'
- fujian_files = []
- for filename in os.listdir(mon_folder):
- if filename.endswith('.txt') and filename[-9:-4].isdigit() and int(filename[-9:-4]) in fujian_stations:
- fujian_files.append(os.path.join(mon_folder, filename))
- # 将福建省所有txt文件转为excel文件
- output_folder = 'output'
- os.makedirs(output_folder, exist_ok=True)
- for file_path in fujian_files:
- df = pd.read_csv(file_path, delimiter=' ', names=['Year', 'Mon', 'Day', 'PRE'])
- output_path = os.path.join(output_folder, os.path.basename(file_path).replace('.txt', '.xlsx'))
- df.to_excel(output_path, index=False)
复制代码
在这段代码中, names=['Year', 'Mon', 'Day', 'PRE'] 设置了列的名字为 'Year', 'Mon', 'Day', 'PRE'。所以在读取txt文件时,即使源文件中没有列名,也会按照您设定的列名来生成DataFrame。之后,当您把DataFrame存为Excel文件时,列名也会一并被存入。 |
|