首页 > 解决方案 > 使用python将现有csv文件中的列插入另一个csv文件

问题描述

我有两个列数相同的 CSV 文件。

我想将文件 1 作为第一列插入到 file2 中,并将输出生成为新的 CSV 文件。

输入文件:

在此处输入图像描述

在此处输入图像描述

需要的输出文件:

在此处输入图像描述

标签: pythonpython-3.xcsvwrite

解决方案


我将从代码示例开始(我直接根据您在帖子中提供的数据基于 test1 和 test2.csv):

## Read first csv into list
f = open("test1.csv", "r")
csv1 = f.readlines()
f.close()

## Read second csv into list
f = open("test2.csv", "r")
csv2 = f.readlines()
f.close()

## Create new csv header
header = csv1[0].replace("\n", "") + "," + csv2[0].replace("\n", "")

## Create data list and append lines from csv1 and csv2
data = []
for x in range(1, len(csv1)):
    data.append(csv1[x].replace("\n", "") + "," + csv2[x].replace("\n", "") + "\n")

## Print new header and data to a new csv file
f = open("test3.csv", "w")
f.write(header + "\n")
f.writelines(data)

对此的注释非常直截了当,让您知道每个代码块完成了什么。

这样做是在假设没有键将数据从一个文件关联到另一个文件的情况下工作的(就像在数据库中,您有一个 ID 可以在表之间关联)。

您也可以使用内置的 csv 库并将其分解为函数等,但对于如此简单的事情,我发现像我一样将其写出来更容易。

这是输出:

offset,status,value
1,ok,12
2,nok,13
3,ok,14

推荐阅读