You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用Python和Pandas处理CSV:解决列表转列回写行列颠倒问题

解决Pandas重组CSV时列行颠倒的问题

核心问题是你把处理后的列列表当成行数据传入DataFrame了,正确的做法是让每个列表对应一列,而非一行。以下是具体解决步骤和代码:

步骤1:读取原始CSV

先加载你的目标CSV文件:

import pandas as pd

df = pd.read_csv('your_input_file.csv')

步骤2:处理单列数据(移除指定值+清理字符串)

假设你要移除的指定内容是'无效值',同时需要清理字符串多余空格,以示例中的两列为例:

# 处理Column A:移除指定值、删除空行、清理字符串后转列表
col_a_clean = df['Column A'].replace('无效值', pd.NA).dropna().str.strip().tolist()
# 处理Column B:重复相同逻辑
col_b_clean = df['Column B'].replace('无效值', pd.NA).dropna().str.strip().tolist()

步骤3:正确构建目标DataFrame

这一步是关键,要将清理后的列表与列名一一对应,同时处理列表长度不一致的情况:

# 取最长列表的长度,对齐所有列
max_length = max(len(col_a_clean), len(col_b_clean))
# 给短列表补空字符串,保证列长度一致
col_a_clean += [''] * (max_length - len(col_a_clean))
col_b_clean += [''] * (max_length - len(col_b_clean))

# 用列名-列表的键值对构建DataFrame
new_df = pd.DataFrame({
    'Column A': col_a_clean,
    'Column B': col_b_clean
})

步骤4:保存修复后的CSV

new_df.to_csv('your_output_file.csv', index=False)

执行后生成的CSV会符合你期望的结构:

Column AColumn B
ToddAmy
AshleyAshley
Greg

内容的提问来源于stack exchange,提问作者Jonny

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.13 18:52:09