将.csv文件的第一列复制到新文件中

时间:2019-11-12 14:47:49

标签: python

我知道这是一个非常容易的任务,但是我现在表现得很愚蠢,没有解决它。我需要将包含标题的.csv文件的第一列复制到新创建的文件中。我的代码:

station = 'SD_01'
import csv
import pandas as pd
df = pd.read_csv(str( station ) + "_ED.csv", delimiter =';')
list1 = []
matrix1 = df[df.columns[0]].as_matrix()
list1 = matrix1.tolist()
with open('{0}_RRS.csv'.format(station),"r+") as f:
    writer = csv.writer(f)
    writer.writerows(map(lambda x: [x], list1))

结果是,我的文件的值之间有一个空行,没有标题(尽管没有标题,我也可以继续),并且在底部有一些无法识别的内容。

>350
>
>351
>
>352
>
>...
>
>949
>
>950
>
>Ž‘’“”•–—˜™š›œžŸ ¡¢

仅1200条线的简短印象

  1. 我很确定这是一个很笨拙的方法;总是欢迎使用更简单的方法。
  2. 我该如何消除所有空白行和最后这些疯狂的东西?

2 个答案:

答案 0 :(得分:0)

从数据框中获取列时,该列将作为Series类型返回-Series具有可以使用的built in to_csv方法。因此,您无需进行任何矩阵转换或类似的操作。

答案 1 :(得分:0)

import pandas as pd
df = pd.read_csv('name.csv',delimiter=';')
first_column = df[[df.columns[0]]
first_column.to_csv('new_file.csv')