Python:将数据写入csv fi

2024-10-01 09:22:30 发布

您现在位置:Python中文网/ 问答频道 /正文

从Matlab到Python,所以我有点困惑。你知道吗

我有一个脚本,其中计算波周期,波数,波高和RAO的一些运行。例如,在循环中创建的RAO数组如下所示:

# Calculation of RAO

rao_2[j] = sway[j]/wave[j]
rao_3[j] = heave[j]/wave[j]
rao_4[j] = roll[j]/(k[j]*wave[j])

我想把所有的信息保存在一个CSV文件中,我希望行是每次运行的,列是'Period'、'Wave Number'、'Wave'、'RAO'等

我尝试使用以下方法:

prelim_data = list(zip(T, k, wave, wave_front, wave_back, rao_2, rao_3, rao_4))

df = pd.DataFrame(data=prelim_data, columns=['Period', 'Wave Number', 'Wave', 'Front Wave', 'Back Wave', 'RAO 2', 'RAO 3', 'RAO 4'])

df.to_csv(pre_fid1, index=False, header=False)

但这似乎把它写进了一个列中的一个列表,这不是什么大不了的事。但是,当我想将来自五个不同运行的五个CSV文件组合成一个大文件时,问题就出现了。你知道吗

它们的行数不同,列数相同,但当我这样组合它们时:

import pandas as pd

pieces = []

for num in [8, 9, 10, 11, 12, 13, 14, 15]:
    s = pd.read_csv('main/prelim_results%d.csv' % num, header=1)
    print('Reading Number: ', num)
    print(s.loc[0][0])
    pieces.append(s)

newcsv = pd.concat(pieces, axis=0)
newcsv.to_csv('main/prelim_main.csv', index=0, header=0)

data = pd.read_csv('main/prelim_main.csv', header=None)

第一个CSV文件写入第一行。。我做错什么了?你知道吗

有没有更好的方法来保存我的数据并将其合并到一个文件中?你知道吗

谢谢你的帮助


Tags: 文件csvnumberdatamainwavenumheader
1条回答
网友
1楼 · 发布于 2024-10-01 09:22:30

请尝试以下代码:

import pandas as pd
pieces = []
for num in range(8,16):
    s = pd.read_csv('main/prelim_results%d.csv' % num)
    print (s.head())
    print('Reading Number: ', num)
    pieces.append(s)
newcsv = pd.concat(pieces, axis=0)
newcsv.to_csv('main/prelim_main.csv', index=0, header=0)
data = pd.read_csv('main/prelim_main.csv', header=None)
print (data.head())

相关问题 更多 >