将NETCDF转换为CSV时,如何显示所有数据(无椭圆)?

发布于 2025-01-26 02:31:07 字数 1017 浏览 6 评论 0原文

我有一个以NetCDF格式编写的分子模拟的轨迹文件。我想将此文件转换为.csv格式,以便我可以对分子之间的接近度进行进一步的基于Python的分析。该轨迹文件包含与每个时间步长的所有6500个原子的3D笛卡尔坐标相对应的信息。

我已经使用以下脚本使用 netcdf4 pandas 模块将此NetCDF文件转换为.csv文件。我的代码在下面给出。

import netCDF4
import pandas as pd

fp='TEST4_simulate1.traj'
dataset = netCDF4.Dataset(fp, mode='r')
cols = list(dataset.variables.keys())
list_dataset = []
for c in cols:
    list_dataset.append(list(dataset.variables[c][:]))
#print(list_dataset)
df_dataset = pd.DataFrame(list_dataset)
df_dataset = df_dataset.T
df_dataset.columns = cols
df_dataset.to_csv("file_path.csv", index = False)

下面给出了一小部分输出.CSV文件。请注意,在3个原子坐标的第一组和最后一组之间给出了一组椭圆。

time,spatial,coordinates
12.0,b'x',"[[  33.332325 -147.24976  -107.131   ]
 [  34.240444 -147.80115  -107.4043  ]
 [  33.640083 -146.47362  -106.41945 ]
 ...
 [  70.31757   -16.499006 -186.13313 ]
 [  98.310844   65.95696    76.43664 ]
 [  84.08772    52.676186  145.48856 ]]"

如何修改此代码,以便将整个原子坐标写入我的.CSV文件?

I have a trajectory file from a molecular simulation that is written in netCDF format. I would like to convert this file to .csv format so that I can apply further Python-based analysis of the proximity between molecules. The trajectory file contains information corresponding to 3D Cartesian coordinates for all 6500 atoms of my simulation for each time step.

I have used the below script to convert this netCDF file to a .csv file using the netCDF4 and Pandas modules. My code is given below.

import netCDF4
import pandas as pd

fp='TEST4_simulate1.traj'
dataset = netCDF4.Dataset(fp, mode='r')
cols = list(dataset.variables.keys())
list_dataset = []
for c in cols:
    list_dataset.append(list(dataset.variables[c][:]))
#print(list_dataset)
df_dataset = pd.DataFrame(list_dataset)
df_dataset = df_dataset.T
df_dataset.columns = cols
df_dataset.to_csv("file_path.csv", index = False)

A small selection of the output .csv file is given below. Notice that a set of ellipses are given between the first and last set of 3 atomic coordinates.

time,spatial,coordinates
12.0,b'x',"[[  33.332325 -147.24976  -107.131   ]
 [  34.240444 -147.80115  -107.4043  ]
 [  33.640083 -146.47362  -106.41945 ]
 ...
 [  70.31757   -16.499006 -186.13313 ]
 [  98.310844   65.95696    76.43664 ]
 [  84.08772    52.676186  145.48856 ]]"

How can I modify this code so that the entirety of my atomic coordinates are written to my .csv file?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文