如何用Python将CSV文件的行转换为列?
行转列实现方案
如果要将CSV中的行数据转换为列形式,用Pandas可以通过**转置(Transpose)**快速实现,以下分两种常见场景给出代码:
场景1:将一行多列数据转为一列多行
如果你的源CSV是横向的一行6个数据(比如Period,B_date,C_date,Year,Day of period,label这样的一行),想要转成纵向的6行一列:
import pandas as pd # 读取CSV,无表头 df = pd.read_csv('source.csv', header=None) # 转置行和列 transposed_df = df.T # 保存为目标CSV,不保留索引和表头 transposed_df.to_csv('output.csv', header=False, index=False)
场景2:将一列多行数据转为一行多列(逆操作)
如果你的源CSV是纵向的6行1列(也就是你之前读取的格式),想要转成横向的一行6列:
import pandas as pd df = pd.read_csv('source.csv', header=None) # 转置得到一行多列的DataFrame transposed_df = df.T # 或者直接用列表生成一行 # transposed_df = pd.DataFrame([df[0].tolist()]) # 保存结果 transposed_df.to_csv('output.csv', header=False, index=False)
关键说明
df.T是Pandas中DataFrame转置的快捷方式,会直接互换行和列的结构header=False和index=False确保保存的CSV没有多余的表头和索引列,符合纯数据的需求
内容的提问来源于stack exchange,提问作者Muhammad Owais
相关产品推荐
相关产品推荐

