如何读取两个csv文件并将它们连接起来



首先,我需要导入两个csv文件。

然后我需要删除两个文件中的头。

之后,我想从两个文件中提取一列,并将它们连接起来。

我试过打开文件,但不知道如何连接。

有人能为如何进行提供建议吗?

import csv
x = []
chamber_temperature = []
with open(r"C:Usersmm02058Documentstest.txt", 'r') as file:
reader = csv.reader(file, delimiter='t')
with open(r"C:Usersmm02058Documentstest.txt", 'r') as file1:
reader_1 = csv.reader(file1, delimiter='t')
for row in (reader):
x.append(row[0])
chamber_temperature.append(row[1])
for row in (reader_1):
x.append(row[0])
chamber_temperature.append(row[1])

直接的错误是您试图从with块之外的reader1读取,这意味着Python已经关闭了该文件。

但是with调用的嵌套无论如何都是令人困惑和误导的。这里有一个概括,它应该允许您轻松地使用更多的新文件进行扩展。

import csv
x = []
chamber_temperature = []
for filename in (r"C:Usersmm02058Documentstest.txt",
r"C:Usersmm02058Documentstest.txt"):
with open(filename, 'r') as file:
for idx, row in enumerate(csv.reader(file, delimiter='t')):
if idx == 0:
continue  # skip header line
x.append(row[0])
chamber_temperature.append(row[1])

由于您构建代码的方式,file1的上下文管理器将在for循环使用该文件之前关闭该文件。

使用单个上下文管理器打开两个文件,例如

with open('file1', 'r') as file1, open('file2', 'r') as file2:
# Your code in here
for row in (reader_1):
x.append(row[0])
chamber_temperature.append(row[1])

您收到此错误是因为您已将此代码块放置在第二个循环之外,现在文件已关闭。

你可以用这个同时打开两个文件

with open('file1', 'r') as file1, open('file2', 'r') as file2:
# Your code in here

或者您可以使用panda来打开和连接csv文件

import pandas as pd
data = pd.read_csv(r'file.csv', header=None)

然后参考此处连接数据帧

最新更新