运用Python1.首先在,三省站点.xlsx 文件中,遍历福建省所有的‘区站号’。 2.根据已得福建省的‘区站号’,在 MON 文件夹下遍历出所有福建省文件, 举例每个文件名中都包含区站号,为后五位数字。 3.将第二步所得福建省所有(.txt)文件转为 excel 文件,excel 文件后缀要求.xlsx(所有涉及 到的 excel 文件都要求后缀.xlsx),并且插入表头,‘Year’ ‘Mon’ ‘Day’ ‘PRE’。其中在TXT文件中第一列为Year,第二列为Mon,第三列为Day,第四列为PRE
时间: 2024-04-14 18:26:41 浏览: 56
python遍历文件夹下文件,并生成txt
对不起,我之前给出的代码有一些错误。以下是修正后的代码:
```python
import os
import pandas as pd
# 1. 在三省站点.xlsx文件中,遍历福建省所有的'区站号'
station_file = '三省站点.xlsx'
province = '福建省'
df_station = pd.read_excel(station_file)
fujian_station_ids = df_station.loc[df_station['省份'] == province, '区站号'].tolist()
# 2. 在MON文件夹下遍历出所有福建省文件
mon_folder = 'MON'
fujian_files = []
for file in os.listdir(mon_folder):
if file.endswith('.txt'):
file_path = os.path.join(mon_folder, file)
station_id = file[-9:-4] # 假设区站号为文件名后五位数字
if station_id in fujian_station_ids:
fujian_files.append(file_path)
# 3. 将福建省所有txt文件转为excel文件,并插入表头'Year' 'Mon' 'Day' 'PRE'
header = ['Year', 'Mon', 'Day', 'PRE']
output_folder = 'output'
for file_path in fujian_files:
df = pd.read_csv(file_path, sep='\s+', header=None)
df.columns = header
output_file = os.path.splitext(os.path.basename(file_path))[0] + '.xlsx'
output_path = os.path.join(output_folder, output_file)
df.to_excel(output_path, index=False)
```
这段代码首先从 `三省站点.xlsx` 文件中读取所有站点信息,并筛选出福建省的站点编号。然后,在 `MON` 文件夹下遍历所有的 `.txt` 文件,找到文件名中包含福建省站点编号的文件。接下来,读取每个文件的内容,将其转换为 `DataFrame` 对象,并插入表头。最后,将处理后的数据保存为 `.xlsx` 格式的文件,并存放在 `output` 文件夹中。
请确保在运行代码之前,将 `三省站点.xlsx` 文件和 `.txt` 文件放在合适的位置,并修改代码中的文件路径和文件夹路径为正确的路径。同时,确保已安装 `pandas` 库来处理 Excel 文件。
阅读全文