简体   繁体   English

如何在 pandas 的 csv 文件的特定列的行范围内插入文本?

[英]How to insert text in a range of row in a specific column in a csv file in pandas?

I want to insert a text in a range of lines in a specific column of a csv file like [2:], I already searched other questions like this on the internet, but none worked for me.我想在 csv 文件(如 [2:])的特定列中的一系列行中插入文本,我已经在互联网上搜索了类似的其他问题,但没有一个对我有用。

Example:例子:

"File before I insert text" “插入文本之前的文件”

NAME, AGE
 , 2
 , 3
 , 4
 , 5

"File after I insert a text" “插入文本后的文件”

NAME, AGE
 , 2
henrique , 3
henrique , 4
 , 5

My code:我的代码:

header = ["Name", "Age"]

df = pd.DataFrame(columns=header)
var=df.shape[0]
df.loc[2:, 'Name'] = 'henrique'
df.to_csv("stackoverflow.csv", sep=',
          index=False)

https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.DataFrame.at.html https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.DataFrame.at.html

To insert data you want to use df.at(2:, 'Name')要插入要使用的数据df.at(2:, 'Name')

df = pd.DataFrame(columns=header)
var=df.shape[0]
df.at(2:, 'Name') = 'henrique'
df.to_csv("stackoverflow.csv", sep=',
          index=False)

However, if you want the following output但是,如果您想要以下 output

NAME, AGE
 , 2
henrique , 3
henrique , 4
 , 5

Then you should use this index那么你应该使用这个索引

df = pd.DataFrame(columns=header)
var=df.shape[0]
df.at(1:2, 'Name') = 'henrique'
df.to_csv("stackoverflow.csv", sep=',
          index=False)

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM