gpt4 book ai didi

Python/Shell 脚本 - 合并 CSV 文件的 2 行,其中地址列具有 'New Line' 字符

转载 作者:行者123 更新时间:2023-11-30 23:13:20 27 4
gpt4 key购买 nike

我有一个 CSV 文件,其中包含几列。例如:

FName,LName,Address1,City,Country,Phone,Email
Matt,Shew,"503, Avenue Park",Auckland,NZ,19809224478,matt@xxx.com
Patt,Smith,"503, Baker Street
Mickey Park
Suite 510",Austraila,AZ,19807824478,patt@xxx.com
Doug,Stew,"12, Main St.
21st Lane
Suit 290",Chicago,US,19809224478,doug@xxx.com
Henry,Mark,"88, Washington Park",NY,US,19809224478,matt@xxx.com

在 Excel 中,它看起来像这样:Sample Image

人们通常倾向于以特定方式提供/复制粘贴地址,通常有时人们会复制其签名并将其粘贴到“地址”列,从而造成这种情况。

我尝试使用 Python CSV 模块阅读此内容,看起来 python 无法区分字段值和行尾之间的“\n”换行符。我的代码:

import csv
with open(file_path, 'r') as f_obj:
input_data = []
reader = csv.DictReader(f_obj)
for row in reader:
print row

输出看起来像这样:

{'City': 'Auckland', 'Address1': '503, Avenue Park', 'LName': 'Shew', 'Phone': '19809224478', 'FName': 'Matt', 'Country': 'NZ', 'Email': 'matt@xxx.com'}
{'City': 'Austraila', 'Address1': '503, Baker Street\nMickey Park\nSuite 510', 'LName': 'Smith', 'Phone': '19807824478', 'FName': 'Patt', 'Country': 'AZ', 'Email': 'patt@xxx.com'}
{'City': 'Chicago', 'Address1': '12, Main St. \n21st Lane \nSuit 290', 'LName': 'Stew', 'Phone': '19809224478', 'FName': 'Doug', 'Country': 'US', 'Email': 'doug@xxx.com'}
{'City': 'NY', 'Address1': '88, Washington Park', 'LName': 'Mark', 'Phone': '19809224478', 'FName': 'Henry', 'Country': 'US', 'Email': 'matt@xxx.com'}

我只是想将相同的内容写入一个文件,其中包含 Address1 keys 的所有值不应该有 '\n' 字符,看起来像:

{'City': 'Auckland', 'Address1': '503, Avenue Park', 'LName': 'Shew', 'Phone': '19809224478', 'FName': 'Matt', 'Country': 'NZ', 'Email': 'matt@xxx.com'}
{'City': 'Austraila', 'Address1': '503, Baker Street Mickey Park Suite 510', 'LName': 'Smith', 'Phone': '19807824478', 'FName': 'Patt', 'Country': 'AZ', 'Email': 'patt@xxx.com'}
{'City': 'Chicago', 'Address1': '12, Main St. 21st Lane Suit 290', 'LName': 'Stew', 'Phone': '19809224478', 'FName': 'Doug', 'Country': 'US', 'Email': 'doug@xxx.com'}
{'City': 'NY', 'Address1': '88, Washington Park', 'LName': 'Mark', 'Phone': '19809224478', 'FName': 'Henry', 'Country': 'US', 'Email': 'matt@xxx.com'}

大家有什么建议吗???

PS:我的 csv 文件中有超过 100K 条这样的记录!!!

最佳答案

您可以将打印行替换为字典解析,以替换值中的换行符:

row = {k: v.replace('\n', ' ') for k, v in row.iteritems()}
print row

关于Python/Shell 脚本 - 合并 CSV 文件的 2 行,其中地址列具有 'New Line' 字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29371109/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com