python - 发布删除特定行,将 .txt 转换为 .csv,并在 Python 中使用制表符分隔列
问题描述
我所拥有的:巨大的文本数据 (.txt),文本由制表符分隔。
我想要什么:将文本(.txt)转换为 CSV(.csv),使用 Python 将每个单词用制表符分隔在不同的列中。
// Start Time: 10
// Update Rate: 2
// Scenario: 367.3
// Firmware Version: 1.1.1
Count Temp V_X V_Y V_Z
25 0 0.28 0.43 -0.07
23 4 0.34 0.33 -0.03
22 3 0.34 0.23 -0.04
21 2 0.35 0.43 -0.03
27 3 0.33 0.33 -0.12
第一个问题是我想从文本文件中删除所有行。第二个问题是我想将所有制表符分隔的文本数据放入 csv 列中。
这就是我此刻正在做的事情,
infile = open('/Users/parth_To_File/myData.txt','r').readlines()
with open('/Users/parth_To_File/out_myData.txt','w') as outfile:
for index,line in enumerate(infile):
if index != 0:
outfile.write(line)
我将上面的代码运行了 4 次,以获取数据中冗余信息的红色。然后,我使用下面的代码来转换 csv 文件中的数据。
save_path = "/Users/parth_To_File/"
in_filename = os.path.join(save_path,'myData.txt')
out_filename = os.path.join(save_path,'out_myData.csv')
df = pd.read_csv(in_filename, sep=";")
df.to_csv(out_filename, index=False)
我使用的方法的问题是, - 代码未优化以从 txt 数据中删除特定行 - 代码未提供包含各个列的正确表格数据
如果有人可以帮助我了解按照上述需要执行 txt 到 csv 转换的正确方法,我将不胜感激。
解决方案
由制表符分隔的文件是 TSV 格式 ( https://en.wikipedia.org/wiki/Tab-separated_values )。熊猫支持这一点。你可以做:
df = pd.read_csv('input.tsv', sep='\t', skiprows=4)
df.to_csv('input.csv', index=False, sep=",")
推荐阅读
- azure-active-directory - Why does my users get a .ost error message after giving them Full Access to mailbox?
- asp.net-mvc - Kentico Library media file not available in MVC website
- c# - Chart custom labels not appearing on X axis
- javascript - How to click on a drop-down item using .elementIdClick() in nightwatch?
- css - How do I style Labels with NativeScript Vue? Document example isn't working
- c - fgets() and text files
- python - Why am I unable to import IntFlag class from enum.py module?
- c - How can I assign words from a double pointer to a new array in C?
- ansible - Ansible - 处理自定义模块中的意外 STDOUT
- python - 如何将列表操作成列?