假设我有一个 .dat
文件,filename.dat
,我希望将其读入 Pandas Dataframe:
import pandas as pd
df = pd.read_table('filename.dat')
这方面有大小限制吗?我希望将数据帧的列单独保存为大小为 1 TB 的文件。这可能吗?
最佳答案
为了扩展评论中提到的 chunksize
的用法,我会执行如下操作:
chunks = pd.read_table('filename.dat', chunksize=10**5)
fileout = 'filname_{}.dat'
for i, chunk in enumerate(chunks):
mode = 'w' if i == 0 else 'a'
header = i == 0
for col in chunk.columns:
chunk[col].to_csv(fileout.format(col), index=False, header=header, mode=mode)
您可能想要尝试使用 chunksize
参数,看看什么对您的数据最有效。
我使用enumerate
的原因是在读入第一个 block 时创建一个带有 header 的新文件,并为后续 block 附加不带 header 的文件。
关于python - Pandas read_table() 有大小限制吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38444676/