如何移除CSV列内换行符并批量合并文件夹内多个CSV文件
解决方案
方法思路
读取单个CSV文件后,统一清理所有字符串类型列中的回车(\r)、换行(\n)符,再进行合并操作即可避免列错位问题。
修改后完整代码
import glob import os import pandas as pd # 替换为你实际的CSV文件夹路径 path = "你的CSV文件夹路径" csv_list = glob.glob(os.path.join(path, "*.csv")) # 定义单元格换行符清理函数 def clean_newlines(df): # 仅处理字符串类型列,避免数值类列处理报错 str_cols = df.select_dtypes(include=['object']).columns df[str_cols] = df[str_cols].replace(to_replace=[r'\r', r'\n'], value='', regex=True) return df # 按顺序执行读取、清理、合并操作 df_list = (clean_newlines(pd.read_csv(f, sep=',')) for f in csv_list) df_merged = pd.concat(df_list, ignore_index=True) # 输出时添加index=False可避免生成多余的索引列,不需要可删除 df_merged.to_csv("merged_raw.csv", index=False)
注意事项
- 如果你的CSV本身自带表头,代码默认会将第一行识别为表头,无需额外调整参数
- 若需要保留换行符的分隔效果但不影响结构,可以将清理逻辑中的替换值从空字符串改为空格
' ',避免不同行的内容直接拼接在一起 - 如果CSV使用的分隔符不是逗号,可以修改
pd.read_csv里的sep参数匹配实际分隔规则
内容的提问来源于stack exchange,提问作者Lilly
相关产品推荐
相关产品推荐

