抓取特定行并将其导出到另一个 csv
Grabbing specific rows and export those to another csv
我想在这里做什么,按名称抓取特定的行。我的 csv 数据 table 是水平的。不是垂直的,可以看到here。
黄色部分为headers。
示例如下。
---
Row 1 DATA DATA DATA
---
Row 2 YSS YDD GGS
---
Row 3 DATA DATA DATA
---
Row 4 DATA DATA DATA
---
解析第 2、3、4 行,然后将其导出到另一个 new.csv 文件。棘手的部分是。导出另一个文件后。我想更改第 2 行的数据名称。
new.csv 样本是:
Row 2 YSS YDD GGS
---
Row 3 DATA DATA DATA
---
Row 4 DATA DATA DATA
---
因此尝试为第 2 行的数据命名。例如,如果 YSS 然后制作 YSS -> Google 或者如果它是 YDD 然后制作 Yahoo。导出又是一个new2.csv,就像:
Row 2 Google Yahoo Facebook
---
Row 3 DATA DATA DATA
---
Row 4 DATA DATA DATA
---
我从这个开始,但我无法得到想要的东西。
import pandas as pd
df = pd.read_csv("datas.csv", index_col=0)
df = df.drop(columns=df.columns[df.iloc[0].isnull()]._data)
df_out = df.loc['利用額(Fee抜き)','クライアント名','媒体']
print(df_out)
KeyError: 'the label [クライアント名] is not in the [columns]'
IIUC,你可能需要这样的东西:
考虑到 df
看起来像 :
0 1 2 3
0 Row 2 YSS YDD GGS
1 Row 3 DATA DATA DATA
2 Row 4 DATA DATA DATA
d = {'YSS':'Google','YDD':'Yahoo','GGS':'Facebook'}
df.T.loc[1:,0] = df.T.loc[1:,0].map(d)
>>df
0 1 2 3
0 Row 2 Google Yahoo Facebook
1 Row 3 DATA DATA DATA
2 Row 4 DATA DATA DATA
如果 Row 2
不是列而是索引,只需执行:
df.loc['Row 2'] = df.loc['Row 2'].map(d)
>>df
1 2 3
0
Row 2 Google Yahoo Facebook
Row 3 DATA DATA DATA
Row 4 DATA DATA DATA
我想在这里做什么,按名称抓取特定的行。我的 csv 数据 table 是水平的。不是垂直的,可以看到here。 黄色部分为headers。
示例如下。
---
Row 1 DATA DATA DATA
---
Row 2 YSS YDD GGS
---
Row 3 DATA DATA DATA
---
Row 4 DATA DATA DATA
---
解析第 2、3、4 行,然后将其导出到另一个 new.csv 文件。棘手的部分是。导出另一个文件后。我想更改第 2 行的数据名称。
new.csv 样本是:
Row 2 YSS YDD GGS
---
Row 3 DATA DATA DATA
---
Row 4 DATA DATA DATA
---
因此尝试为第 2 行的数据命名。例如,如果 YSS 然后制作 YSS -> Google 或者如果它是 YDD 然后制作 Yahoo。导出又是一个new2.csv,就像:
Row 2 Google Yahoo Facebook
---
Row 3 DATA DATA DATA
---
Row 4 DATA DATA DATA
---
我从这个开始,但我无法得到想要的东西。
import pandas as pd
df = pd.read_csv("datas.csv", index_col=0)
df = df.drop(columns=df.columns[df.iloc[0].isnull()]._data)
df_out = df.loc['利用額(Fee抜き)','クライアント名','媒体']
print(df_out)
KeyError: 'the label [クライアント名] is not in the [columns]'
IIUC,你可能需要这样的东西:
考虑到 df
看起来像 :
0 1 2 3
0 Row 2 YSS YDD GGS
1 Row 3 DATA DATA DATA
2 Row 4 DATA DATA DATA
d = {'YSS':'Google','YDD':'Yahoo','GGS':'Facebook'}
df.T.loc[1:,0] = df.T.loc[1:,0].map(d)
>>df
0 1 2 3
0 Row 2 Google Yahoo Facebook
1 Row 3 DATA DATA DATA
2 Row 4 DATA DATA DATA
如果 Row 2
不是列而是索引,只需执行:
df.loc['Row 2'] = df.loc['Row 2'].map(d)
>>df
1 2 3
0
Row 2 Google Yahoo Facebook
Row 3 DATA DATA DATA
Row 4 DATA DATA DATA