|  | 
 
| 
批量将txt文档转化为excel文件,excel文件命名只保留数字。
x
马上注册,结交更多好友,享用更多功能^_^您需要 登录 才可以下载或查看,没有账号?立即注册  .添加excel文件表头,年,月,日,降水(保留一位小数)。
 .如果降水出现负值和-999,替换为0
 import pandas as pd
 import os
 input_dir = "input"  # 输入目录
 output_dir = "output"  # 输出目录
 
 
 for file_name in input_files:
 # 读取txt文件并转换为DataFrame
 file_path = os.path.join(input_dir, file_name)
 df = pd.read_csv(file_path, sep="\t", header=None, names=["date", "precipitation"])
 
 # 添加年、月、日列
 df["year"] = df["date"].apply(lambda x: int(str(x)[:4]))
 df["month"] = df["date"].apply(lambda x: int(str(x)[4:6]) if not str(x)[4:6].isspace() else 0)
 df["day"] = df["date"].apply(lambda x: int(str(x)[6:]))
 
 # 删除原日期列
 df = df.drop("date", axis=1)
 
 # 替换无效值
 df = df.replace(-999, 0)
 df = df[df["precipitation"] >= 0]
 
 # 保留一位小数
 df["precipitation"] = round(df["precipitation"], 1)
 
 # 保存为Excel文件
 output_file_name = "".join(filter(str.isdigit, file_name)) + ".xlsx"
 output_file_path = os.path.join(output_dir, output_file_name)
 df.to_excel(output_file_path, index=False)
 
 
 
 
 为何 # 添加年、月、日列
 df["year"] = df["date"].apply(lambda x: int(str(x)[:4]))
 df["month"] = df["date"].apply(lambda x: int(str(x)[4:6]) if not str(x)[4:6].isspace() else 0)
 df["day"] = df["date"].apply(lambda x: int(str(x)[6:]))
 出错,应该如何更改求指教
 | 
 |