python - 为多个文本文件重复熊猫数据框流程?
问题描述
我希望读取大量文本文件,使用熊猫数据框处理文本文件,然后为每个输入文件输出一个新的文本文件。
我的代码在我处理单个文本文件时有效,但在我尝试遍历多个文本文件时无效。
我的单个文件代码是:
df = pd.read_csv('name.txt',sep='\s+',skiprows=22, header=None, names=header_list,)
df['offset'] = df.iloc[0,1]
df['offset_removed'] = df['mufluor']-df['offset']
df.to_csv('name_2.txt',index=None, sep=' ', mode='a')
我一直在尝试使用此代码循环浏览多个文件:
all_files=glob.glob(os.path.join(path,"*.txt"))
for file in all_files:
file_name = os.path.split(file)[1]
header_list=["energy","mufluor","io","ifluor_DT","ifluor_raw","counttime","itrans","irefer"]
df = pd.read_csv(file_name,sep='\s+',skiprows=22, header=None, names=header_list,)
df['offset'] = df.iloc[0,1]
df['offset_removed'] = df['mufluor']-df['offset']
但这似乎不起作用,因为我的数据框中的值现在似乎是字符串?而不是浮动...我不确定为什么我的数据框中的数据类型发生了变化?
解决方案
不是答案
尝试:
header_list=["energy","mufluor","io","ifluor_DT","ifluor_raw","counttime","itrans","irefer"]
df1 = pd.read_csv('name1.txt',sep='\s+',skiprows=22, header=None, names=header_list,)
df1['offset'] = df1.iloc[0,1]
df1['offset_removed'] = df1['mufluor']-df1['offset']
df1.to_csv('name_1.txt',index=None, sep=' ', mode='a')
df2 = pd.read_csv('name2.txt',sep='\s+',skiprows=22, header=None, names=header_list,)
df2['offset'] = df2.iloc[0,1]
df2['offset_removed'] = df2['mufluor']-df2['offset']
df2.to_csv('name_2.txt',index=None, sep=' ', mode='a')
输出是你所期望的?
推荐阅读
- python - Folium 中的虚线折线
- javascript - 为什么两个看似相同的 JS 函数运行方式不同?
- c++ - Windows 可执行文件中的反调试和反逆向技术
- linux - 对于编写繁重的操作,docker 卷是否比直接绑定目录更好?
- ssas - 考虑到所有这些计算能力和存储都在云中可用,采用多维模型(立方体)有什么好处?
- node.js - AWS/Node.js S3 签名 URL 被拒绝
- asp.net-mvc - 等待asp.net返回新视图时如何显示加载消息
- python - 如果在 django rest 框架视图中有更简洁的方式来接受用户查询
- html - SVG 路径动画与预期不符
- qt - Windeployqt 错误:找不到平台插件