繁体   English   中英

如何将 TXT 转换为 CSV?

[英]How to convert TXT to CSV?

我需要你的帮助。 我有一个文本文件,它是一个数据库。 其中的数据如下所示:

Anastasia [ID: 257949614] requested statistics for Russia - (13:48:37, 17.03.2020)
Alina [ID: 541327376] requested statistics for Russia - (13:50:45, 17.03.2020)
Alina [ID: 541327376] requested statistics for USA - (13:51:10, 17.03.2020)
Alina [ID: 541327376] requested statistics for Egypt - (13:51:50, 17.03.2020)
lofi [ID: 605986150] requested statistics for Montenegro - (13:51:58, 17.03.2020)

我需要将其转换为 CSV,同时将不同的数据类型放在不同的单元格中。 像这样的东西:

在此处输入图片说明

第 1 步 - 创建一个接收文本行并将其拆分为字符串的函数。 没有捷径可走,因为您的原始文件是常规文本。 例如:

def split_line(l):
  name = l[:l.find(' ')]
  l = l[len(name) + 1]
  id = l[:l.find(']')+1]
  l = l[len(id) + 1:]
  # ...
  return name, id, # ...

第 2 步 - 将文本文件转换为列表(或元组,在我的情况下):

with open(input_file) as f:
  lines = [split_line(x) for x in f]

第 3 步 - 使用csv模块。

import csv
with open(output_file, 'w') as f:
  writer = csv.writer(f)
  writer.writelines(lines)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM