[英]How to read two csv files and to concatenate them?
首先,我需要導入兩個 csv 文件。
然后我需要刪除兩個文件中的標題。
之后,我想從兩個文件中取出一列並將它們連接起來。
我試圖打開文件,但我不確定如何連接。
任何人都可以提供建議如何進行?
import csv
x = []
chamber_temperature = []
with open(r"C:\Users\mm02058\Documents\test.txt", 'r') as file:
reader = csv.reader(file, delimiter='\t')
with open(r"C:\Users\mm02058\Documents\test.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])
由於您構建代碼的方式,file1 的上下文管理器將在 for 循環使用該文件之前關閉該文件。
使用單個上下文管理器打開兩個文件,例如
with open('file1', 'r') as file1, open('file2', 'r') as file2:
# Your code in here
直接的錯誤是您試圖從with
塊之外的reader1
讀取,這意味着 Python 已經關閉了該文件。
但是無論如何嵌套with
調用只是令人困惑和誤導。 這是一個概括,它應該允許您輕松擴展更多新文件。
import csv
x = []
chamber_temperature = []
for filename in (r"C:\Users\mm02058\Documents\test.txt",
r"C:\Users\mm02058\Documents\test.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])
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
或者您可以使用 pandas 打開和連接 csv 文件
import pandas as pd
data = pd.read_csv(r'file.csv', header=None)
然后參考這里連接數據幀
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.