将一个CSV文件里的数据追加到另一个CSV文件,可以使用Python自带的csv库来实现。
- 读取源CSV文件
首先,打开源CSV文件,并读取其中的数据。使用csv模块的csv.reader函数来读取CSV中的数据。其中,delimiter参数指定CSV文件的分隔符,quotechar参数指定CSV文件中的引号。示例代码如下:
import csv
with open('source.csv', newline='') as csvfile:
reader = csv.reader(csvfile, delimiter=',', quotechar='"')
for row in reader:
# TODO: 进行操作
在上面的代码中,我们打开了source.csv
文件并使用csv.reader
来读取其中的数据。通过遍历reader
对象的每一行数据,我们可以逐一处理它们。
- 将数据追加到目标CSV文件中
使用csv模块的csv.writer函数来将数据追加到目标CSV文件中。示例代码如下:
import csv
with open('source.csv', newline='') as csvfile:
reader = csv.reader(csvfile, delimiter=',', quotechar='"')
with open('target.csv', mode='a', newline='') as targetfile:
writer = csv.writer(targetfile, delimiter=',', quotechar='"', quoting=csv.QUOTE_MINIMAL)
for row in reader:
# TODO: 进行操作
writer.writerow(row)
在上面的代码中,我们首先打开了source.csv
文件并使用csv.reader
来读取其中的数据。接着打开目标CSV文件target.csv
并将数据写入其中。在csv.writer
中,我们指定了分隔符为,
号,引号也为"
号,并且指定了引号的最小程度(quoting=csv.QUOTE_MINIMAL
)。
- 两个CSV文件数据合并示例
import csv
# 读取第一个CSV文件并存储到rows中
with open('file1.csv', newline='') as csvfile:
reader = csv.reader(csvfile, delimiter=',', quotechar='"')
rows = []
for row in reader:
rows.append(row)
# 根据第二个CSV文件中的某一列,过滤出第一个CSV文件中对应的行
with open('file2.csv', newline='') as csvfile:
reader = csv.reader(csvfile, delimiter=',', quotechar='"')
filtered_rows = []
for row in reader:
for r in rows:
if row[0] == r[0]:
filtered_rows.append(r)
# 将过滤出来的行存储到新的CSV文件中
with open('merged_file.csv', mode='w', newline='') as csvfile:
writer = csv.writer(csvfile, delimiter=',', quotechar='"', quoting=csv.QUOTE_MINIMAL)
for row in filtered_rows:
writer.writerow(row)
在上面的代码中,我们首先打开了file1.csv
文件,并将其中的数据存储到rows
数组中。接着,我们打开了file2.csv
文件,并根据其中的第一列数据,过滤出rows
数组中对应的行,并将它们存储到filtered_rows
数组中。最后,将过滤出来的行存储到新的CSV文件merged_file.csv
中。
- 两个CSV文件数据合并示例2
import csv
# 读取第一个CSV文件并存储到rows中
with open('file1.csv', newline='') as csvfile:
reader = csv.reader(csvfile, delimiter=',', quotechar='"')
rows = []
for row in reader:
rows.append(row)
# 将第二个CSV中的数据追加到第一个CSV文件中
with open('file2.csv', newline='') as csvfile:
reader = csv.reader(csvfile, delimiter=',', quotechar='"')
with open('merged_file.csv', mode='w', newline='') as csvfile:
writer = csv.writer(csvfile, delimiter=',', quotechar='"', quoting=csv.QUOTE_MINIMAL)
for row in reader:
rows.append(row)
for row in rows:
writer.writerow(row)
在上面的代码中,我们首先打开了file1.csv
文件,并将其中的数据存储到rows
数组中。接着,我们打开了file2.csv
文件,并将其中的数据追加到rows
数组中。最后,将rows
数组中的所有行存储到新的CSV文件merged_file.csv
中。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Python将一个CSV文件里的数据追加到另一个CSV文件的方法 - Python技术站