将csv行转换为colum

时间:2018-01-11 18:23:32

标签: python csv

所以我有一个看起来像这样的csv文件..

1   a
2   b
3   c

我想让它看起来像这样..

1   2   3
a   b   c

我对如何使用python3感到茫然,任何人都有任何想法?真的很感激

2 个答案:

答案 0 :(得分:1)

你是否正在阅读熊猫的csv?你可以随时使用numpy或pandas transpose

import numpy as np
ar1 = np.array([[1,2,3], ['a','b','c']])
ar2 = np.transpose(ar1)

Out[22]: 
array([['1', 'a'],
       ['2', 'b'],
       ['3', 'c']], 
      dtype='<U11')

答案 1 :(得分:0)

正如其他人所说,pandastranspose()是前往此的方式。这是一个例子:

import pandas as pd

input_filename = "path/to/file"

# I am using space as the sep because that is what you have shown in the example
# Also, you need header=None since your file doesn't have a header
df = pd.read_csv(input_filename ), header=None, sep="\s+")  # read into dataframe

output_filename = "path/to/output"
df.transpose().to_csv(output_filename, index=False, header=False)

<强>解释

read_csv()将您文件的内容加载到我称为dataframe的{​​{1}}中。这就是df的样子:

df

您想要切换行和列,我们可以通过调用>>> print(df) 0 1 0 1 a 1 2 b 2 3 c 来实现。以下是转置后的transpose()

dataframe

现在使用>>> print(df.transpose()) 0 1 2 0 1 2 3 1 a b c 方法将转置后的dataframe写入文件。通过指定to_csv()index=False,我们将避免编写标题行和索引列。