【问题标题】:Read and export in CSV以 CSV 格式读取和导出
【发布时间】:2020-06-05 07:31:36
【问题描述】:

我有一个 csv 文件,其中的数据用“;”分隔。 读取文件没有问题,但我想导出第一个 csv 中的数据而不是另一个 csv 并将 1 个新列添加到新的 csv 文件中。

import csv

with open('1.csv','r') as csvinput:
    with open('agg.csv', 'w') as csvoutput:
        writer = csv.writer(csvoutput)
        reader = csv.reader(csvinput,lineterminator=';')

        all = []
        row = next(reader)
        row.append('Movimiento')
        all.append(row)

        for row in reader:
            row.append(row[0])
            all.append(row)

        writer.writerows(all)

为什么会这样?

【问题讨论】:

标签: python excel csv


【解决方案1】:

您必须创建一个 csv 写入器对象,并使用该对象在其中写入所需的 csv 文件。如果您能告诉我更多关于列问题的信息,我将能够提供更好的帮助。

csvwriter = csv.writer("1.csv", delimiter=',')

【讨论】:

    【解决方案2】:

    如果你可以使用pandas

    试试下面的代码。

    import pandas as pd
    data = pd.read_csv('<file_name>', sep =';')
    #add new column
    data['new_column_name']=[list_of_values]
    data.to_csv('<to_filename>', index=False)
    

    【讨论】:

    • 好的,让我反过来看看
    【解决方案3】:

    试试这个:

    with open('1.csv','r') as csvinput:
        with open('agg.csv', 'w') as csvoutput:
            writer = csv.writer(csvoutput, delimiter=',')
            reader = csv.reader(csvinput,lineterminator=';')
    
            all = []
            row = next(reader)
            row.append('Movimiento')
            all.append(row)
    
            for row in reader:
                row.append(row[0])
                all.append(row)
    
            writer.writerows(all)
    

    【讨论】:

      【解决方案4】:

      数据以; 作为分隔符,因此您可能希望指定它而不是lineterminator

      writer = csv.writer(csvoutput)
      reader = csv.reader(csvinput, delimiter=';')
      

      【讨论】:

        猜你喜欢
        • 2017-07-21
        • 2013-10-06
        • 1970-01-01
        • 1970-01-01
        • 2011-04-17
        • 2021-05-23
        • 1970-01-01
        • 2020-08-18
        • 1970-01-01
        相关资源
        最近更新 更多