将标题添加到 csv 文件

问题描述 投票:0回答:5

我有一个尺寸为

100*512
的 csv 文件,我想在
spark
中进一步处理它。该文件的问题是它不包含标题,即
column names
。 我需要这些列名称以在
machine learning
中进行进一步的 ETL。我在另一个文件(文本文件)中有列名。我必须将这些列名称作为标题放在上面提到的 csv 文件中。 例如

CSV 文件:-

ab 1 23 平方英尺 23 hjh

hs 6 89 iu 98 adf

gh 7 78 pi 54 ngj

jh 5 22 kj 78 jdk

列标题文件:-

一、二、三、四、五、六

我想要这样的输出:-

一二三四五六

ab 1 23 平方英尺 23 hjh

hs 6 89 iu 98 adf

gh 7 78 pi 54 ngj

jh 5 22 kj 78 jdk

请建议一些将列标题添加到 CSV 文件中的方法。(无需替换 csv 文件的行。 我尝试将其转换为 pandas 数据框,但无法获得预期的输出。

python csv
5个回答
9
投票

首先读取您的 csv 文件:

from pandas import read_csv      
df = read_csv('test.csv')

如果您的数据集中有两列(a 列和 b 列),请使用:

df.columns = ['a', 'b']

将此新数据框写入 csv

df.to_csv('test_2.csv')

3
投票

你可以使用它:

    import csv

    with open('names.csv', 'w') as csvfile:
        fieldnames = ['first_name', 'last_name']
        writer = csv.DictWriter(csvfile, fieldnames=fieldnames)

        writer.writeheader()
        writer.writerow({'first_name': 'Baked', 'last_name': 'Beans'})
        writer.writerow({'first_name': 'Lovely', 'last_name': 'Spam'})
        writer.writerow({'first_name': 'Wonderful', 'last_name': 'Spam'})

2
投票

Unix:

cat header_file.csv data_file.csv > data_file.csv

窗户:

type header_file.csv data_file.csv > data_file.csv

0
投票

有点老方法...

demo.csv 各列之前的内容:

4444,Drowsy,bit drowsy
45888,Blurred see - hazy,little seeing vision
45933,Excessive upper pain,pain problems
112397013,air,agony
76948002,pain,agony

xyz.txt的内容:

Col 1,Col 2,Col 3

内嵌注释的代码

#Open CSV file
with open("demo.csv", "r+") as f:
    #Open file which has header
    with open("xyz.txt",'r') as fh:
        #Read header
        header = fh.read()
        #Read complete data of CSV file
        old = f.read()
        #Get cursor to start of file
        f.seek(0)
        #Write header and old data to file.
        f.write(header+ "\n" + old)

demo.csv内容:

Col 1,Col 2,Col 3
4444,Drowsy,bit drowsy
45888,Blurred see - hazy,little seeing vision
45933,Excessive upper pain,pain problems
112397013,air,agony
76948002,pain,agony

0
投票

如果您使用的是 Linux,您可以使用

sed
,例如:

sed -i 1i$(cat columns.csv) data.csv
© www.soinside.com 2019 - 2024. All rights reserved.