使用python用另一个.cs中的数据填充一个.csv文件

2024-09-28 15:30:39 发布

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

我有两个.csv文件,一个CSV1,另一个CSV2。在CSV1中是一个大的数据列表,格式如下:

name, year
Brian, 2016
Lucy, 2016
Bob, 2014
Alen, 2012

然后在CSV2中:

^{pr2}$

我想在CSV1中把每个人的十二生肖显示为一个附加的列,如下所示:

name, year, zodiac
Brian, 2016, Monkey
Lucy, 2016, Monkey
Bob, 2014, Horse
Alen, 2012, Dragon

我认为使用python Pandas库可以做到这一点,但是我在文档中迷失了方向,任何建议都将不胜感激!在


Tags: 文件csv数据name列表格式yearmonkey
3条回答

你应该试试^{}。它让它变得非常简单:

import pandas as pd
# Loads csv1 with default index
df1 = pd.read_csv("csv1.csv")
# Loads csv2 and sets the year as the index
df2 = pd.read_csv("csv2.csv", index_col=0)

df1["zodiac"] = df1["year"].map(df2["zodiac"])

df1.to_csv("output.csv")

注意,df2的索引是年份,因此它的行为基本上与年号字典的行为类似。map接受字典或{}作为列中值的查找表。在

试试这个:

import pandas as pd

fn1 = r'/path/to/file1.csv'
fn2 = r'/path/to/file2.csv'

pd.merge(pd.read_csv(fn1, skipinitialspace=True),
         pd.read_csv(fn2, skipinitialspace=True)) \
  .to_csv('/path/to/result.csv', index=False)

听起来df.join()方法正是您想要的!您将能够连接year列上的两个数据帧,然后根据需要将其导出回csv。在

相关问题 更多 >