我在TXT几个文件。他们是由制表九月但在第几行的一些垃圾。我把所有的pd.dataframe阅读,删除所有垃圾行合并到一起。
我被这种代码读取文件:dataFromRawFile = pd.read_csv( 'texttt.txt',九月= “”,标题=无)打印(dataFromRawFile)
文件看起来像:
[trash]: trash
[trash_umbers]:3224
trash_name
[DATA]
id number color
good good good
good good good
good good good
good good good
我怎么能修改,大熊猫命令没有所有的垃圾行读取数据帧?比方说,我想可以从“ID”中的所有文件的唯一固定值,即加载的文件。如何才能读取这个特定strign该文件?
首先,你需要获得目录中的每个文件id
列的行数(假定他们都.txt
文件;修改相应的条件)。这可以通过以下方式:
import os
skip_rows = {}
for filename in os.listdir():
if os.splitext(filename)[1] == '.txt':
with open(filename) as f:
lines = f.readlines()
skip_rows[filename] = [index for index, line in enumerate(lines) if line[:2] == 'id'][0]
现在,skip_rows
应该包含要跳过的每个文件的行数。
然后,你可以这样做:
dataframes = {filename: pd.read_csv(filename, skiprows=n_rows) for filename, n_rows in skip_rows.items()}
和从在dataframes
各元件读出。
使用skiprows
或read_csv
的read_table
功能。
在你的情况下,尝试skiprows=4
同时采用skiprows
方法使用熊猫的pd.read_csv()
财产。
例如说你想拥有的是到您的数据帧整个表。
所以写这会在你的文件中找到的单词“ID”功能。
def get_loc():
with open (filename) as f:
for num, line in enumerate(f,1):
if 'word_to_find' in line.strip().lower():
break
return num
这会给你的位置。
然后,只需使用
df = pd.read_csv(yourfilename, skiprows = getloc()-1)