计算文本字符串中的逗号并添加新行

计算文本字符串中的逗号并添加新行

我有一个巨大的文件(1400 页,一串文本),我想让它在 Excel 中可读。该文件包含逗号分隔的值,将其放入 Excel 通常不是问题,只是信息在 Excel 中应该位于多行上,而不是像在文档中那样都位于同一行上。

一行信息之间用 115 个逗号分隔。

我的计划是使用 Notepad++ 计算 115 个逗号,换行,再计算 115 个逗号,换行,直到遍历整个文档。完成此操作后,在 Excel 中将其结构化应该很容易。然而,我一直在努力将所需的表达式组合在一起。

如果有其他更合理的方法可以做到这一点,我愿意洗耳恭听,但可能我走错了路。我一直在尝试使用 Notepad++ 中的查找/替换工具 (CTRL+H)。

我一直在尝试使用“查找什么”:

(,*?)\,{115}

问题是,这正在寻找 115 个连续的逗号,但我需要它计算一行文本中的前 115 个逗号,然后创建一个段落/新行并再次执行此操作。任何帮助/指示都将不胜感激。我花了相当多的时间试图找到答案。

答案1

  • Ctrl+H
  • 找什么:(?:.+?,){115}\K
  • 替换为:\n\r\n
  • 检查环绕
  • 检查正则表达式
  • 检测. matches newline
  • Replace all

解释:

(?:         # start non capture group
    .+?     # 1 or more any character, not greedy
    ,       # a comma
){115}      # end group, must appear 115 times
\K          # forget all we have seen until this position

替代品:

\n          # a line feed, change it to \r\n for windows files

这将保留每行末尾的逗号。如果要删除它,请使用:

(?:.+?,){114}.+?\K

答案2

将文本放入 inputstring 变量中并在 python 中运行。根据所需的列数更改 numberofcolums 变量。如果您没有安装 python,您可以使用在线工具,例如这个

inputstring = "one, two, three, four,five,six,seven,eight,ten,etc,,,2342354,2,1,,,1,3,,,,"
outputstring = ""

numberofcolums = 115
numberofcommas = 0

print(inputstring)
print(inputstring[3]!=",")
for character in inputstring:
    if(character != ","):
        outputstring += character
    elif(numberofcommas == numberofcolums - 1):
        outputstring += ",\
        numberofcommas = 0
    else:
        outputstring += character
        numberofcommas += 1

print(outputstring)

答案3

好的,最好的办法是编写一个脚本来解决这个问题,

如果我正确理解了您的问题,您需要拆分一个字符串。

我会用 pythonssplit()函数来做到这一点。

之后,您可以让 Python 写入一个文件,并为从函数中获得的数组的每个部分创建一个新行split()

(我不是最擅长解释的人,如果你需要帮助,我可以为你制作脚本,问问就不会花很长时间,只要问就可以了)

相关内容