我正在尝试将 .csv 文件转储到 .yml 文件中并成功。唯一的问题是 .yml 文件中的语法不是我想要的。
我的 .csv 文件:
NAME,KEYWORDS
Adam,Football Hockey
我在哪里读取 .csv 文件并将其转储到 .yml 文件中:
import csv
import pandas
import yaml
""" Reading whole csv file with panda library """
df = pandas.read_csv('keywords.csv')
""" Dump DataFrame into getData.yml as yaml code """
with open('getData.yml', 'w') as outfile:
yaml.dump(
df.to_dict(orient='records'),
outfile,
sort_keys=False,
width=72,
indent=4
)
.yml 输出的样子:
- NAME: Adam
KEYWORDS: Football Hockey
我希望它看起来如何:
- NAME: Adam
KEYWORDS: Football, Hockey
我想在足球和曲棍球之间加一个逗号。但是如果我把它放在 .csv 文件中,它看起来会很奇怪,因为所有内容从一开始就用逗号分隔。我怎样才能做到这一点?
为此,您有 2 个选择:
在 CSV 文件中,如果逗号在引号内,则在解析过程中不会将其视为分隔符。这样,您的 CSV 文件将如下所示:
NAME,KEYWORDS
Adam,"Football, Hockey"
或者,您可以在阅读后处理 KEYWORDS 列。这会将以下内容添加到您的代码中:
df = pandas.read_csv('keywords.csv')
df["KEYWORDS"] = df["KEYWORDS"].apply(lambda x: ", ".join(x.split()))
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句