【发布时间】:2021-03-18 15:53:02
【问题描述】:
我想读取输入文件的每 500 行。
我的想法是使用 lambda 函数来创建我的布尔值:skiprows = lambda x: 0 != x%500
这很好用,但也跳过了我想保留为标题的第一行。
我尝试使用 read_csv() 中的 header 参数解决此问题,但无法解决。
我的代码:
tsteps = [ 12500, 25000, 50000 ,100000, 200000, 400000, 800000, 1600000, 3200000 ]
list_of_data = [pd.read_csv("../data/gauss_wf_fixed_wall6_129_1_{}_1_3_30_6_1.txt".format(i), sep="\t", header=0 ,skiprows = lambda x: 0 != x%500) for i in tsteps ]
电流输出:
3.9920000000000004e-02 2.2889406468048764e-314 1.9631275851119487e-01 \
0 0.08000 2.288941e-314 0.196313
1 0.12008 2.288941e-314 0.196313
2 0.16016 2.288941e-314 0.196313
3 0.20024 2.288941e-314 0.196313
4 0.24032 2.288941e-314 0.196313 ...
想要的输出:(类似)
time REAL(psi[n]) IMAG(psi[n]) averx deltax averp \
0 0.00000 2.328125e-314 0.000000 30.000020 5.999985 0.838554
1 0.00004 2.328125e-314 0.196313 30.000034 5.999985 0.838554
2 0.00008 2.328125e-314 0.196313 30.000048 5.999985 0.838554
3 0.00012 2.328125e-314 0.196313 30.000063 5.999985 0.838554
4 0.00016 2.328125e-314 0.196313 30.000077 5.999985 0.838554
在应用skirows之前有没有办法调用skip header? (因为 skiprows 会跳过文件中的所有行)
提前致谢。
【问题讨论】:
标签: python pandas dataframe csv