从文本

时间:2018-03-12 21:27:29

标签: bash twitter tweets

我有一个包含推文的大型4.5M +行CSV(逗号是分隔符)。 CSV来自不久前,并且在列数据,字符等内部都有各种各样的换行符。在某些方面可能会出现格式错误,但我很难确切地知道这个大小的文件的位置和方式。< / p>

我希望将此CSV文件作为大量文本移动,提取所有推文ID,并将每个拉出的ID放入新文件中的一行。

通过bash,perl,Python这样做可以正常工作。有人可以帮忙吗?我似乎甚至无法找到有关推文ID参数的信息,尽管这个语料库中的那些似乎都是17个整数。

1 个答案:

答案 0 :(得分:1)

因为在你的问题中,Tweet ID的唯一证据是它是一个长度为17的整数,这是我将要使用的唯一规则。

另外,我将把它用作一个严格的规则。任何长度为整数的东西都是推文ID,没有别的。

之后是正常的正则表达式搜索。

import re

string = '''
12345678912345678, abcd, efgh
45645645645645645, ijkl, mnop
78944556677889900, qrst, uvwx
0, y, z
'''

m = re.findall('[0-9]{17}', string)
print(m)
  

re.findall在字符串(第二个参数)

中搜索正则表达式(第一个arg)      

(a): - [0-9]表示0到9之间的任何整数

     

(b): - {m}表示常规exp。在此之前必须重复m次

     

(a)+(b): - [0-9] {17}给我一个匹配,它是一个重复17次的整数0到9的字符串。即数量为17的长度

find out more about re module in python

在我不知道有关输入文件和推文格式的任何内容的情况下,我可以帮助您。