TypeError: to_csv() 得到了一个意外的关键字参数“startrow”
Posted
技术标签:
【中文标题】TypeError: to_csv() 得到了一个意外的关键字参数“startrow”【英文标题】:TypeError: to_csv() got an unexpected keyword argument 'startrow' 【发布时间】:2021-12-08 00:46:04 【问题描述】:我正在尝试从.csv
文件导入数据,然后将其导出到另一个.csv
文件。在我要导出到的文件中,我要写入的同一列中已经存在数据。所以我使用startrow=
方法开始从适当的行导出我的数据。但是当我运行代码时,它引发了错误
这是代码
将熊猫导入为 pd
def mokacsv(file_name):
importing = pd.read_csv(file_name)
column_netsales = importing['Net Sales']
sum_of_netsales = (column_netsales)
sum_of_netsales.to_csv('example1.csv', index=False, header=True, startrow=30)
print(mokacsv(r"example2.csv"))
非常感谢任何帮助,P.S这是关于我第二周编码python3的,我之前没有经验。
【问题讨论】:
您是否要在example1.csv
的末尾添加数据?为此,您应该使用mode="a"
,这意味着“附加到文件”。
是的,我是。你如何为我的代码申请mode="a"
?我不熟悉它。谢谢。
你会在to_csv
函数调用中使用它:sum_of_netsales.to_csv('example1.csv', index=False, header=True, mode="a")
我试过了,效果很好,非常感谢。但是,如果我可以添加一个后续问题,有没有办法可以将数据添加到某些行(例如第 30 行)?就像我原本打算的那样?以及example1.csv
的某个列?
我认为您应该edit your question 要求跟进。如果我理解的话,它是:“如何在 CSV 文件的特定行中添加数据?”您应该包含一个 minimal reproducible example 以及一些示例输入和您的预期输出。我不确定您所说的“在某个列”是什么意思,这就是为什么该示例将有助于澄清这一点。
【参考方案1】:
尝试使用concat
函数
import pandas as pd
one = pd.DataFrame(
'Name': ['Alex', 'Amy', 'Allen', 'Alice', 'Ayoung'],
'subject_id':['sub1','sub2','sub4','sub6','sub5'],
'Marks_scored':[98,90,87,69,78],
index=[1,2,3,4,5])
two = pd.DataFrame(
'Name': ['Billy', 'Brian', 'Bran', 'Bryce', 'Betty'],
'subject_id':['sub2','sub4','sub3','sub6','sub5'],
'Marks_scored':[89,80,79,97,88],
index=[1,2,3,4,5])
print pd.concat([one,two])
输出:
更多信息请访问Python Pandas - Concatenation 和 Python + Pandas: Add value to specific row in csv-file
【讨论】:
以上是关于TypeError: to_csv() 得到了一个意外的关键字参数“startrow”的主要内容,如果未能解决你的问题,请参考以下文章
Pandas DataFrame.to_csv 引发 IOError:没有这样的文件或目录
TypeError: line() 得到了一个意外的关键字参数“标记”