使用 python 从文件中提取数据并写入新文件

Extract data from file with python and write new file

我正在尝试从具有这种结构的文件中提取数据

        //Side Menu
        market: 'Market',
        store: 'Store',
        stores: 'Stores',
        myNotes: 'My Notes',
        logout: 'Logout',
        //Toast
        activeUserHasChanged: 'Resetting app - the active user has changed.',
        loginHasExpired: 'Your login has expired.',
        appIsReseting: 'The app is resetting.',

我想要的是提取单引号之间的所有文本并将其放入新文件中,我认为 Python 可能是一个不错的选择,但我是编程新手并且 Python,我尝试了一些但没有成功,而且根据我的阅读,它不应该是一个小脚本。

我的预期输出是:

         Market,
         Store,
         Stores,
         My Notes,
         Logout,
         Resetting app - the active user has changed,
         Your login has expired,
         The app is resetting,

因此,我们将不胜感激。

此致。

一个简单的解决方案是这样的:

in_string = False
with open('infile.txt','r') as fr, open('outfile.txt','w') as fw:
  for char in fr.read():
    if char == "'":
      in_string = in_string != True  # XOR
    elif in_string:
      fw.write(char)

直觉是我们逐个字符读取文件并跟踪我们一路上看到的任何 '。当我们遇到第一个时,我们将下一个字符写入输出文件,直到遇到第二个,依此类推

它不处理无效输入,也不做缓冲或任何花哨的事情。但是,如果您只有格式正确的小文件,那么应该这样做。 它也不会将您的输出格式化为逗号行,但从这里开始应该不会太难。

假设您输入的是文本文件

import re
fid = open('your input file','rb')
output = open('output file','wb')
for i in fid:
    m = re.match(r"['\"](.*?)['\"]",i)
    if m is not None:
        output.write(m.group(1)+'\r\n')
fid.close()
output.close()

r"'\"['\"]" 这个正则表达式可以让你找到单引号之间的任何内容。如果没有找到,则跳过。希望这对您有所帮助。