如何使用多个分隔符读取 Pandas 中的 txt 文件? [英] How to read txt file in pandas with multiple delimiters?
本文介绍了如何使用多个分隔符读取 Pandas 中的 txt 文件?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我有一个看起来像这样的文本文件:
I have a text file that looks like this:
1
SWAT May 20 2015 VER 2015/Rev 637 0/ 0/ 0 0: 0: 0
General Input/Output section (file.cio):
3/23/2016 12:00:00 AM ARCGIS-SWAT interface AV
RES MON VOLUMEm3 FLOW_INcms FLOW_OUTcms PRECIPm3 EVAPm3 SEEPAGEm3 SED_INtons SED_OUTtons SED_CONCppm ORGN_INkg ORGN_OUTkg RES_ORGNppm ORGP_INkg ORGP_OUTkg RES_ORGPppm NO3_INkg NO3_OUTkg RES_NO3ppm NO2_INkg NO2_OUTkg RES_NO2ppm NH3_INkg NH3_OUTkg RES_NH3ppm MINP_INkg MINP_OUTkg RES_MINPppm CHLA_INkg CHLA_OUTkgSECCHIDEPTHm PEST_INmg REACTPSTmg VOLPSTmg SETTLPSTmgRESUSP_PSTmgDIFFUSEPSTmgREACBEDPSTmg BURYPSTmg PEST_OUTmgPSTCNCWmg/m3PSTCNCBmg/m3
RES 1 1 0.6062E+07 0.6285E+00 0.0000E+00 0.8282E+05 0.6664E+05 0.0000E+00 0.1900E+02 0.0000E+00 0.6782E+02 0.3444E+04 0.0000E+00 0.1546E-01 0.6055E+03 0.0000E+00 0.1315E-02 0.1358E+04 0.0000E+00 0.6315E-02 0.1422E+02 0.0000E+00 0.9853E-04 0.1722E+04 0.0000E+00 0.9114E-02 0.5736E+03 0.0000E+00 0.1543E-02 0.0000E+00 0.0000E+00 0.3960E+01 0.0000E+00 0.0000E+00 0.0000E+00 0.0000E+00 0.0000E+00 0.0000E+00 0.0000E+00 0.0000E+00 0.0000E+00 0.0000E+00 0.0000E+00
我尝试了使用不同分隔符的代码,但结果数据框总是只有一列:
I tried code with different separators, but always my resulting dataframe has one column only:
> df=pd.read_csv('output.rsv', skiprows=5, sep='\t', engine='python')
我想对这些数据做的只是将这些文本分成这样的列:
What I want to do with this data is just to divide this text into columns like this:
RES MON VOLUMEm3
1 1 1000
2 1 1000
...
推荐答案
\s+
分隔符可以工作:
df = pd.read_csv(os.path.join(maindir, 'EDMA_1_rcp26_2025_1_output.rsv'),\
skiprows = 9, delimiter = r'\s+', header = None)
其实很简单.
这篇关于如何使用多个分隔符读取 Pandas 中的 txt 文件?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文