草庐IT

READ_WRITE

全部标签

python - 当使用 "pandas.read_hdf() "读取巨大的 HDF5 文件时,为什么我仍然得到 MemoryError 即使我通过指定 block 大小读取 block ?

问题描述:我使用pythonpandas读取几个大的CSV文件并将其存储在HDF5文件中,生成的HDF5文件大约为10GB。回读时出现问题。即使我尝试分block读回它,我仍然会遇到MemoryError。这是我创建HDF5文件的方式:importglob,osimportpandasaspdhdf=pd.HDFStore('raw_sample_storage2.h5')os.chdir("C:/RawDataCollection/raw_samples/PLB_Gate")forfilenameinglob.glob("RD_*.txt"):raw_df=pd.read_csv(f

python - 在 pandas read_csv 中自定义分隔符

我正在将许多不同的数据文件读取到各种pandas数据框中。这些数据文件中的列由空格分隔。但是,对于每个文件,空格的数量是不同的(其中一些只有一个空格,另一些则有两个空格等等)。因此,每次导入文件时,我都必须手动转到该文件并查看已使用的空格数,并在sep中提供这些空格数:importpandasaspddf=pd.read_csv('myfile.dat',sep='')有什么方法可以让pandas假定“任意数量的空格”作为分隔符?另外,有什么方法可以让pandas使用制表符(\t)或空格作为分隔符? 最佳答案 是的,您可以使用像se

python 子进程: "write error: Broken pipe"

我在管道传输一个简单的subprocess.Popen时遇到问题。代码:importsubprocesscmd='catfile|sort-g-k3|head-20|cut-f2,3'%(pattern,file)p=subprocess.Popen(cmd,shell=True,stdout=subprocess.PIPE)forlineinp.stdout:print(line.decode().strip())文件的输出长度约为1000行:...sort:writefailed:standardoutput:Brokenpipesort:writeerror文件的输出长度>241

python - 将日志记录 "print"函数更改为 "tqdm.write",以便日志记录不会干扰进度条

我有一个简单的问题:如何将内置Python记录器的print函数更改为tqdm.write,以便记录消息不会干扰tqdm的进度条?谢谢! 最佳答案 您需要一个自定义日志处理程序:importloggingimporttqdmclassTqdmLoggingHandler(logging.Handler):def__init__(self,level=logging.NOTSET):super().__init__(level)defemit(self,record):try:msg=self.format(record)tqdm.t

python - 6.5 GB 文件上的 Pandas read_csv 消耗超过 170GB RAM

我想提出来,只是因为它太疯狂了。也许韦斯有一些想法。该文件非常规则:1100行x~3M列,数据以制表符分隔,仅由整数0、1和2组成。显然这不是预期的。如果我如下预填充数据框,它会消耗约26GB的RAM。h=open("ms.txt")header=h.readline().split("\t")h.close()rows=1100df=pd.DataFrame(columns=header,index=range(rows),dtype=int)系统信息:python2.7.9ipython2.3.1numpy1.9.1Pandas0.15.2.欢迎任何想法。

python - pd.read_hdf 抛出 'cannot set WRITABLE flag to True of this array'

运行时pd.read_hdf('myfile.h5')我收到以下回溯错误:[[...somelongertraceback]]~/.local/lib/python3.6/site-packages/pandas/io/pytables.pyinread_array(self,key,start,stop)24872488ifisinstance(node,tables.VLArray):->2489ret=node[0][start:stop]2490else:2491dtype=getattr(attrs,'value_type',None)~/.local/lib/python3

python - 使用 pd.read_clipboard 复制 MultiIndex 数据帧?

给定一个dataframelikethis:CAB1.111120222313.322224333655.5333226.677774如何使用pd.read_clipboard读取它?我试过这个:df=pd.read_clipboard(index_col=[0,1])但是它抛出一个错误:ParserError:Errortokenizingdata.Cerror:Expected2fieldsinline3,saw3我该如何解决这个问题? 最佳答案 更新:现在它解析剪贴板-即无需事先保存defread_clipboard_mi(i

python - write() 参数必须是 str,而不是 bytes

这个问题在这里已经有了答案:Usingpickle.dump-TypeError:mustbestr,notbytes(3个答案)关闭6年前。我是一名初级程序员,正在为绝对初学者阅读python这本书。我在尝试为问答游戏编写高分函数时遇到了一个问题。当函数'highscore(user,highscore):'被调用时,我尝试相应地分配参数,以便我可以将信息pickle到文件中供以后使用。但是我在尝试转储所需信息时遇到错误。defhighscore(user,highscore):'''storestheplayersscoretoafile.'''importpickle,shelv

python - Pandas - 是否可以在没有 quotechar 的情况下读取 read_csv?

我正在尝试读取一个csv文件,该文件在某些​​行中具有单个"实例,例如:car,"plane,jetjet,ski,"hat当我使用pandasread_csv读取此文件时,它会将"识别为引号字符,并且无法正确读取上面的行。我想当我使用read_csv时根本没有任何引号字符。我尝试设置quotechar=None和quotechar=''但两者都吐出一个错误,因为quotechar必须是一个长度的字符串1.是否可以在使用read_csv时根本没有quotechar?谢谢! 最佳答案 来自PandasDocumentationquot

python - pandas.read_csv 中的 dtype 和转换器有什么区别?

pandas函数read_csv()读取.csv文件。它的文档是here根据文档,我们知道:dtype:Typenameordictofcolumn->type,defaultNoneDatatypefordataorcolumns.E.g.{‘a’:np.float64,‘b’:np.int32}(Unsupportedwithengine=’python’)和converters:dict,defaultNoneDictoffunctionsforconvertingvaluesincertaincolumns.Keyscaneitherbeintegersorcolumnlabe