如何在python中读取文本文件并将变量输出到csv中

如何在python中读取文本文件并将变量输出到csv中,python,forms,csv,email,Python,Forms,Csv,Email,我创建了一个网站,每当有人发送表单(例如,询问我的工作)时,我都会收到一封电子邮件,因此我尝试将其自动化。我已经下载了相关的电子邮件并删除了不相关的数据,但我一直在研究如何导入.txt文件并将其导出到电子表格(.csv文件)中这是我试图从中提取数据的.txt文件: ` ` 显然,我必须改变确切的数据,但这是我得到的布局 所以我想知道如何更改这个.txt文件,并将其系统地放入电子表格中 提前感谢您如果我们只获取文件的一部分,它将使使用它变得更容易: f = """Name: someone

我创建了一个网站,每当有人发送表单(例如,询问我的工作)时,我都会收到一封电子邮件,因此我尝试将其自动化。我已经下载了相关的电子邮件并删除了不相关的数据,但我一直在研究如何导入.txt文件并将其导出到电子表格(.csv文件)中这是我试图从中提取数据的.txt文件:

`

` 显然,我必须改变确切的数据,但这是我得到的布局

所以我想知道如何更改这个.txt文件,并将其系统地放入电子表格中


提前感谢您

如果我们只获取文件的一部分,它将使使用它变得更容易:

f = """Name: someone    
Email: someone@gmail.com    
Site: someone.com    
Remote IP: 192.168.0.1"""
因此,假设您知道如何将文件打开到Python中,您应该有一个如上所述的多行字符串

现在,如果我们可以安全地说冒号(
)将每行中的两列分开,那么我们所要做的就是用逗号替换它们,并将这个新字符串输出到一个文件中。就这么简单

为此,我们不需要迭代字符串,只需使用
str.replace
方法一次性替换它们:

f = f.replace(":", ",")
然后将
f
修改为
CSV
格式:

Name, someone    
Email, someone@gmail.com    
Site, someone.com    
Remote IP, 192.168.0.1
现在,只需将这些数据写入一个以
.csv
结尾的文件:

with open("output.csv", "w") as of:
    of.write(f)
就这样!您现在可以在任何
csv
查看器中打开
output.csv
,它应该可以读取文件


这是我在
LibreOffice
中打开后的屏幕截图:

所以它似乎起了作用


更新

因此,要使上述解决方案发挥作用,有两个问题需要解决:

  • 如何读取文件
  • 如何将重叠的线连接到下一条线
要将文件(读入变量:
f
)有很多很多教程,所以我不会深入讨论。但本质上,只要做到:

f = open("input.txt").read()

那么,如果我们现在处理的是
f
,可能类似于:

Name:
someone

Email:
someone@gmail.com

Site: someone.com

Remote IP: 192.168.0.1
然后我们需要将出现的
:\n
替换为
,以删除溢出的行。我们还需要通过将
\n\n
替换为
\n
来删除任何双线

这些
2
操作可以在一行中完成:

f = f.replace(":\n", ":").replace("\n\n", "\n")
然后,我们可以使用答案开头所述的相同步骤将数据写入
CSV
文件



请注意,在这个阶段,您可能需要考虑使用
re.sub
,因为这样会简化代码

你的问题是什么?我已经更新了这个问题,所以我想问的是如何更改这个.txt文件,并将其系统地放入电子表格中,但文件中有一个名称,名为:james,我将如何从文件中提取多行字符串你能告诉我正确的方向,将这些行导入到多谢appreciated@Tufayl答案里有!只需执行以下操作:
f=open(“input.txt”).read()
但这将读取整个文件,我将如何分隔列读取答案!您需要读入整个文件,然后用逗号替换冒号-这是由
CSV
文件读取器识别的,表示列!
f = f.replace(":\n", ":").replace("\n\n", "\n")