python - 我如何在熊猫python中的每个新行之后插入空白行
问题描述
我有数据
0002 100789 Clearing charges 1000.00- Pending
0002 239890 Cheque bounce 20.00 client accepted
0001 789652 Export docs 200.00 Bank of Italy charges
输出文件应该是
0002 100789 Clearing charges 1000.00- Pending
0002 239890 Cheque bounce 20.00 client accepted
0001 789652 Export docs 200.00 Bank of Italy charges
我的代码
import pandas as pd
df=pd.read_fwf("C:\\csv_in\\back_trans.csv",widths=[4,9,16,15,23],header=None)
result=df.to_string(index=False,header=None)
new_file=open("C:\\csv_out\\back_trans.csv",mode="a+",encoding="utf-8")
new_file.writelines(result)
for line in new_file:
print(line)
new_file.close()
创建空白行,我必须使用哪个功能。请在这点上点灯。
解决方案
你可以用它df.to_csv()
来让你的生活更轻松(并且你的代码更快一点)。
df.to_csv()
然后有一个论点line_terminator
。.csv
这控制在结果文件中将一行与另一行分开的内容。
换行符的编码方式取决于您的操作系统。我们可以os.linesep
用来找出您的操作系统的换行符(我可以在这里看到您正在运行 Windows,但os.linesep
无论如何使用将被认为是一种好的做法,运行不同操作系统的同事会感谢您)。
这是一个MWE:
import os
import pandas as pd
import numpy as np
df = pd.DataFrame(np.random.randint(0, 10, size=(10, 3)))
df.to_csv("C:\\csv_out\\back_trans.csv", line_terminator=os.linesep*2)
这给了我文件内容
❯ cat C:\\csv_out\\back_trans.csv
,0,1,2
0,4,3,4
1,1,1,8
2,4,7,1
3,3,3,7
4,8,5,0
5,7,5,3
6,1,1,0
7,0,3,4
8,1,7,1
9,1,2,9
推荐阅读
- php - Symfony 5 Form 在会话中改变用户
- python - Tkinter - 用笔记本改变框架
- sqlite - 如何选择具有最大计数的所有行而不仅仅是第一行?
- java - 如何为 Java JCSG 对象设置颜色?[JavaFX]
- swift - 如何在 swift 5 中将自定义字体设置为 UIdate 选择器?
- java - 嵌套异常是 java.lang.NumberFormatException: For input string: "favicon.ico"]
- amazon-web-services - AWS - 无法监控免费套餐使用情况
- c - 有什么方法可以防止 CPU 在处理程序中被从进程中取出?
- javascript - 阻塞代码循环到非阻塞代码Node js
- r - 从 R 上的子集列表中提取和组织数据