【问题标题】:change delimiter to the multichar delimiter in a text file in python在python的文本文件中将分隔符更改为多字符分隔符
【发布时间】:2020-11-27 08:09:07
【问题描述】:

这就是我的数据的样子,

"col1"~"col2"~"col3"
"abcd"~"gsf~t"~"sddd~e~e"
"iob"~"gt~yu"~"ui~uo"

我需要将分隔符从 ~ 更改为 |@| 这是我使用的逻辑。

with open(input_path, 'rt',encoding='utf-8') as f:
    reading_file = csv.reader(f, delimiter='~',quoting=csv.QUOTE_ALL)
    with codecs.open(output_path,'w', encoding = "utf-8") as outFile:
        delim='|@|'
        for line in reading_file:
            #stripped_line = line.strip()
            temp = list(map(str, line))
            res = delim.join(temp)
            outFile.write(res +"\n")
outFile.close() 

输出:

col1|@|col2|@|col3
abcd|@|gsf~t|@|sddd~e~e
iob|@|gt~yu|@|ui~uo

这对某些数据非常有效,但我的数据很大,大约 2gb。 由于我的数据在值中有分隔符,因此它被视为分隔符而不是值数据,因此产生的列值多于标题计数。 这就是这些行的数据拆分方式。

col1|@|col2|@|col3
abcd|@|gsf|@|t|@|sddd|@|e|@|e
iob|@|gt|@|yu|@|ui|@|uo

谁能帮帮我。

【问题讨论】:

    标签: python-3.x text-files


    【解决方案1】:

    我认为您可以更改您的代码,将 '"~"' 替换为 '|@|'。所以基本上你的分隔符不仅是'~',而且是'"~"'。

    【讨论】:

      猜你喜欢
      • 2020-07-06
      • 2021-12-17
      • 1970-01-01
      • 1970-01-01
      • 2019-12-07
      • 1970-01-01
      • 2015-10-12
      • 1970-01-01
      • 2013-10-16
      相关资源
      最近更新 更多