使用Pandas处理CSV后生成指定格式扁平文件的方法
我来帮你搞定这个需求!下面是用Pandas实现的完整方案,一步步来:
步骤1:读取CSV并跳过前两行
首先读取你的CSV文件,直接跳过不需要保留的原第1、2行,用skiprows参数就能轻松实现:
import pandas as pd # 替换成你的输入文件路径 df = pd.read_csv('input.csv', skiprows=2)
步骤2:修改表头与拼接操作
这里根据你的实际需求调整表头和数据拼接逻辑,比如重命名列、合并列等。举个示例(你可以换成自己的修改规则):
# 示例:重命名部分表头 df.rename(columns={ '原列名1': 'Name', '原列名2': 'Phone', '原列名3': 'Office' }, inplace=True) # 示例:拼接列(比如把区号和电话号码合并) # df['Phone'] = df['AreaCode'] + '-' + df['PhoneNumber']
步骤3:转换为目标扁平格式
核心是把每一行数据转换成「列名,值 列名,值 ...」的格式,我们可以用apply函数遍历每一行生成对应字符串:
# 定义转换函数:将单行数据转为目标格式 def format_row(row): # 遍历列和值,生成"列名,值"对,再用空格连接 return ' '.join([f"{col},{val}" for col, val in row.items()]) # 对所有行应用转换,得到所有格式化后的字符串列表 formatted_rows = df.apply(format_row, axis=1).tolist() # 如果需要像你示例那样把所有内容连为一行,就用空格拼接;如果每行一个条目,换成'\n'即可 final_content = ' '.join(formatted_rows)
步骤4:保存为文件
最后把处理好的内容写入目标文件:
# 替换成你的输出文件路径 with open('output.txt', 'w', encoding='utf-8') as f: f.write(final_content)
小提示
如果你的数据值里包含逗号,为了避免格式混乱,可以给值加上引号,比如把f"{col},{val}"改成f"{col},\"{val}\"",这样输出会变成Name,"Fred Smith" Phone,"555-555-5555"的形式,更规范。
内容的提问来源于stack exchange,提问作者InBox
相关产品推荐
相关产品推荐

