对csv大文本文件,无法打开文本文件
问题描述:
我试图将此3,1 GB文本文件从https://snap.stanford.edu/data/ 转换为csv文件。所有数据的结构类似:对csv大文本文件,无法打开文本文件
- 名称:东西
- 年龄:东西
- 性别:东西
这使得它与某些万线的一个相当大的文本文件。 我试图写一个py脚本来转换它,但由于某种原因,它不会读取我的每个循环中的行。
下面是代码:
import csv
def trycast(x):
try:
return float(x)
except:
try:
return int(x)
except:
return x
cols = ['product_productId', 'review_userId', 'review_profileName', 'review_helpfulness', 'review_score', 'review_time', 'review_summary', 'review_text']
f = open("movies.txt", "wb")
w = csv.writer(f)
w.writerow(cols)
doc = {}
with open('movies.txt') as infile:
for line in infile:
line = line.strip()
if line=="":
w.writerow([doc.get(col) for col in cols])
doc = {}
else:
idx = line.find(":")
key, value = tuple([line[:idx], line[idx+1:]])
key = key.strip().replace("/", "_").lower()
value = value.strip()
doc[key] = trycast(value)
f.close()
我不知道这是否是因为文件是大的,因为regulare记事本程序将无法打开它。
非常感谢! :-)
答
在行f = open("movies.txt", "wb")
中,您打开要写入的文件,从而删除其所有内容。稍后,您正在尝试从同一个文件读取数据。如果你改变输出文件名,它可能工作正常。 (我不打算下载3.1 GB来测试它;))
你是个天才谢谢! #awesomePersonAboveThisComment – McBoman