难以将csv文件合并为单个文件



我的数据集查看了2009年至2018年的航班延误和取消情况。以下是需要考虑的要点:

  1. 每年都有自己的csv文件,所以'2009.csv', '2010.csv',一直到'2018.csv'
  2. 每个文件大约700mb
  3. 我使用以下代码组合csv文件
import pandas as pd
import numpy as np
import os, sys
import glob
os.chdir('c:\folder'
extension = 'csv'
all_filenames = [i for i in glob.glob('*.{}'.format(extension))]
combined_airline_csv = pd.concat([pd.read_csv(f) for f in all_filenames])
combined_airline_csv.to_csv('combined_airline_csv.csv', index =False, encoding = 'utf-8-sig')
  1. 当我运行这个时,我收到以下消息:
  2. 内存错误:无法为形状为(5674621,),数据类型为float64的数组分配43.3MiB .

我假设我的文件太大,需要在虚拟机(即AWS)上运行它。
有什么想法吗?

谢谢!

这是如何在Python中合并200个csv文件的副本。

由于您只想将它们合并到一个文件中,因此不需要同时将所有数据加载到数据框架中。由于它们都具有相同的结构,我建议创建一个文件写入器,然后使用文件读取器打开每个文件,并逐行写入数据(如果我们想要更花哨,让我们称之为流)。只是要注意不要每次都复制头文件,因为您只需要它们一次。Pandas根本不是完成这项任务的最佳工具:)

一般来说,这是一个典型的任务,直接在命令行上也可以很容易甚至更快地完成。(代码取决于操作系统)

相关内容

  • 没有找到相关文章

最新更新