以下代码可以有效地在我的数据集中插入行(要素名称)作为第一个行:
features = ['VendorID', 'mta_tax', 'tip_amount', 'tolls_amount', 'improvement_surcharge', 'total_amount']
df = pd.DataFrame(pd.read_csv(path + 'data.csv', sep=','))
df.loc[-1] = features # adding a row
df.index = df.index + 1 # shifting index
df = df.sort_index() # sorting by index
但data.csv
非常大~10 GB,因此我想知道是否可以直接在文件中插入features
行而不加载它!有可能吗?
谢谢
答案 0 :(得分:1)
您不必将整个文件加载到内存中,使用stdlib csv
模块的writer
功能将一行添加到文件的末尾。
import csv
import os
with open(os.path.join(path, 'data.csv'), 'a') as f:
writer = csv.writer(f)
writer.writerow(features)