以下是一个示例代码,演示如何在读取固定宽度数据时保留空列并添加分隔符:
import pandas as pd
# 定义数据文件路径和列宽度
data_file = 'data.txt'
column_widths = [10, 15, 12]
# 定义分隔符
delimiter = ','
# 读取固定宽度数据文件
df = pd.read_fwf(data_file, widths=column_widths, header=None)
# 在最后一列之前添加分隔符
df.iloc[:, :-1] = df.iloc[:, :-1].apply(lambda x: x + delimiter)
# 将数据保存到新文件
output_file = 'output.txt'
df.to_csv(output_file, index=False, header=False)
print('数据已保存到', output_file)
在上面的示例代码中,我们首先导入了pandas
库,并定义了数据文件的路径data_file
和每列的宽度column_widths
。然后,我们定义了分隔符delimiter
,这里使用逗号作为分隔符。
接下来,我们使用pd.read_fwf()
函数读取固定宽度数据文件,并将结果存储在df
变量中。header=None
参数表示数据文件没有列名。
然后,我们使用df.iloc[:, :-1]
选择除了最后一列之外的所有列,并使用apply()
函数将分隔符添加到每个值的末尾。这里使用lambda
函数将分隔符添加到每个值的末尾。
最后,我们使用df.to_csv()
函数将数据保存到新文件output_file
中,index=False
参数表示不保存行索引,header=False
参数表示不保存列名。
运行代码后,新文件output.txt
将包含原始数据,并在每个值的末尾添加了分隔符。