【发布时间】:2016-10-01 02:37:38
【问题描述】:
我有以下这种格式的文本文件file1.txt(完全按照我看到的方式显示):
3612 11.4 21.5 1.3 cat3 10469 11447 9239174 - Smith David
484 25.1 13.2 0.0 cat3 11505 11675 9238946 - John Mary
239 29.4 1.9 1.0 cat3 11678 11780 9238841 + Weiz Parker
318 23.0 3.7 0.0 cat3 15265 15355 9235266 + Cohen Charles
18 23.2 0.0 2.0 cat3 15798 15849 9234772 + Lopez Beth
463 1.3 0.6 1.7 cat3 10001 10468 9240153 + Brown Charlie
我想立即使用
将其加载到 Pandas DataFrame 中import pandas as pd
df = pd.DataFrame("file1.txt")
但这给了我一个只有一列的数据框。
所以,我尝试使用 Python 将此文件解析为 .csv。问题是这不是一个“常量”分隔符,即它不是一个制表符。
import csv
input_text = csv.reader(open("file1.txt", "r"), delimiter = "\t")
output_csv = csv.writer(open("file1.csv", 'w'))
output_csv.writerows(input_text) # this should write a csv "file1.csv"
但是,这给出了相同的结果。分隔符delimiter = "" 也不起作用。
如何将此文本文件解析为 csv 格式?我可以用 Python 做到这一点吗? (或者我需要 awk 吗?)我应该“跳过”中间 csv 步骤并尝试完全在 pandas 中执行此操作吗?
任何帮助表示赞赏!
【问题讨论】:
-
使用
pd.read_csv()。 -
@HYRY 似乎不起作用---导致数据框只有一列
标签: python csv pandas awk dataframe