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