我试图通过修改大型.csv文件来尽可能高效。我有一个大约有2000万行的文件,我想对它进行一些更改,以便为Tableau可视化做准备:
1)选择相关列 2)重命名列 3)解析日期 4)创建简单列(将两个字段组合成唯一ID并添加整数列) 5)再次导出到合并的.csv(所以我不希望重复标题而不是初始标题,我不需要索引列。)
我在可怜的笔记本电脑上出现内存错误,所以我想学习如何使用chunksize来读取文件,处理我的更改,然后导出到常见的.csv文件。
df = pd.read_csv(r'C:\Users\MyFile.csv.gz', dtype = 'str', chunksize = 10000, iterator=True, compression = 'gzip', usecols = ['EmployeeID', 'Created Date', 'InteractionID'])
df['Total']=1
df['UniqueID']= df['EmployeeID'] + df['InteractionID']
df['Short Date']= pd.to_datetime(df['Created Date'])
df['Short Date'] = df['Short Date'].apply(lambda x:x.date().strftime('%m%d%y'))
df['Roster ID'] = df['EmployeeID'] + df['Short Date'].map(str)
print('Modified successfully.')
combine = concat(df,ignore_index = True)#I知道需要创建这样的东西,但我不确定如何
combine.to_csv(r'C:\Users\test.csv', index= False, encoding = 'utf-8') #this would create the original file
原始样本:
InteractionID,创建日期,员工ID,重复日期
07927,04 / 01/2014 14:05:10,912a,04/01/2014 14:50:03, 02158,04 / 01/2014 13:44:05,172r,04 / 04/2014 17:47:29, 44279,04 / 01/2014 17:28:36,217y,04 / 07/2014 22:06:19