[英]Python: How to retain headers from one file and append it to another
我有一個CSV文件data.csv
並且已通過以下代碼將此文件分為2個文件test.csv
和train.csv
:
import csv
import random
with open('datafile.csv', 'r') as data:
with open('test.csv', 'w') as test:
with open('train.csv', 'w') as train:
test_writer = csv.writer(test)
train_writer = csv.writer(train)
for line in csv.reader(data):
if random.random() > 0.85:
test_writer.writerow(line)
else:
train_writer.writerow(line)
這段代碼雖然工作得很好,但頭存在於test.csv
,但沒有發現頭train.csv
任何方式更新代碼,並獲得頭在這兩個文件?
最初的問題實際上是可以解決的,但是在進行編輯后,清楚的是要解決的問題:逐行讀取csv.reader並將其隨機寫入任一csv.writer。
您需要像在1.示例中一樣首先閱讀標題。
import csv
import random
with open('datafile.csv', 'r') as data, \
open('test.csv', 'w') as test, \
open('train.csv', 'w') as train:
test_writer = csv.writer(test)
train_writer = csv.writer(train)
reader = csv.reader(data)
header = next(reader)
test_writer.writerow(header)
train_writer.writerow(header)
for row in reader:
if random.random() > 0.85:
test_writer.writerow(row)
else:
train_writer.writerow(row)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.