Python 写入csv(pandas.DataFrame.to_csv)时跳过第一行

Python 写入csv(pandas.DataFrame.to_csv)时跳过第一行,python,pandas,csv,export-to-csv,Python,Pandas,Csv,Export To Csv,在我的python脚本中,我通过 df = pd.read_csv('input.csv', sep=';', encoding = "ISO-8859-1", skiprows=2, skipfooter=1, engine='python') 我正在跳过csv文件中的前两行,因为它们只是我不需要的描述 导入后,我将过滤和分离数据我希望将数据写回csv文件,同时保持与以前相同的格式(前两行为空或说明与导入前相同)。我该怎么做 目前我正在使用 df.to_csv('output.csv'),

在我的python脚本中,我通过

df = pd.read_csv('input.csv', sep=';', encoding = "ISO-8859-1", skiprows=2, skipfooter=1, engine='python')
我正在跳过csv文件中的前两行,因为它们只是我不需要的描述

导入后,我将过滤和分离数据我希望将数据写回csv文件,同时保持与以前相同的格式(前两行为空或说明与导入前相同)。我该怎么做

目前我正在使用

df.to_csv('output.csv'), sep=';', encoding = "ISO-8859-1")

是否有类似于用于导出的参数“skiprows”的内容?我在中找不到。

一种可能的解决方案是先用
NaN
s编写数据帧,然后附加原始的
数据帧

df1 = pd.DataFrame({'a':[np.nan] * 2})
df1.to_csv('output.csv', index=False, header=None)
df.to_csv('output.csv', sep=';', encoding = "ISO-8859-1", mode='a')
或者将相同的原始标题写入
df1
,并且此写入操作首先写入,只需在标题数据中无值

df1 = pd.read_csv('input.csv', sep='|', encoding = "ISO-8859-1", nrows=2, names=['tmp'])

df1.to_csv('output.csv', index=False, header=None)
df.to_csv('output.csv', sep=';', encoding = "ISO-8859-1", mode='a')

您想从原始文件复制头并写入新文件。然后通过将模式设置为“a”来附加数据帧

with open("my_csv.csv") as f:
    header =''
    for line in range(0,header_length_in_lines):
        header +=f.readline()

with open('my_new_csv.csv','w+') as f:
    f.write(header)
df.to_csv('my_new_csv.csv', mode='a', index=False) 

你不能先写下你的描述,然后附加到文件中吗?或者只写两行新行,然后追加?熊猫的
pandas
中没有内置的api,也许你是对的。我看到您可以在编写csv时使用
mode='a'
进行追加。因此,在导出之前,我只需要创建一个包含两个空行的csv文件。附加到一个预先存在的文件很简单,没有内置的
pandas
方法来使用
来实现这一点。完美的,第一个解决方案适合我。如果我以后真的需要描述,我将切换到第二个。谢谢感谢@jezrael的回答,我只是想知道我们是否有办法在.to_csv()中单独跳过第一行
?我想将一个数据帧(500行,2个coulmns)从python导出到一个csv文件。但是,我需要确保前20行写入了一些文本/字符串,然后数据帧应该从第21行开始。有人能告诉我怎么做吗?